Variable Speed Drive for the Sensorless PWM Control of an AC Motor by Exploiting PWM-Induced Artefacts

ABSTRACT

A variable speed drive comprises an output for delivering a drive voltage to an electric motor, power inverter, a drive controller, and a current sensor. The drive controller includes a PWM generator, a control law module, and a state variable estimator for estimating a state variable of the electric motor. The module computes a target voltage signal based on state variable estimates provided by the estimator and outputs the target voltage signal to the PWM generator. The generator approximates the target voltage signal with a PWM control signal, controls the inverter using the control signal, computes, based on the deviation between the control signal and the target voltage signal, an estimation support signal, and outputs the estimation support signal to the estimator. The estimator estimates a state variable of the motor based on the estimation support signal and the drive current, and outputs the estimate to the module.

The present application claims priority to U.S. provisional utility patent application Ser. No. 62/905,663 filed on Sep. 25, 2019 and to European application serial no. 20305748.4 filed on Jul. 2, 2020, which are both incorporated herewith in their entirety.

TECHNICAL FIELD

This disclosure generally pertains to the field of motor control. More precisely, it relates to Variable Speed Drives (VSDs), which are used to control the operation of Alternating Current (AC) electric motors. The focus is on VSDs that rely on Pulse-Width Modulation (PWM) to have continuous control over the speed of the controlled AC motor.

VSDs are typically used as industrial drives in factories, installations, HVAC systems and the like to control e.g. the position, speed and/or torque of an electric motor that is dedicated to a particular task, such as e.g. the operation of a fan or the hoisting of a load.

BACKGROUND ART

In order to perform a closed-loop control of an AC motor, a VSD needs to have real-time information on the operating status of the AC motor. This information might for example be the instantaneous angular position and/or angular velocity of the motor's rotor.

The VSD may obtain this information from dedicated sensors, which are arranged on the motor and monitor the motor's operating status. However, fitting an electric motor with such sensors adds to the complexity and size of the whole drive assembly. The required sensors and sensor cabling also increase the price and reduce the reliability.

This is why so-called “sensorless” VSDs have become more and more common. In these sensorless VSDs, the motor's operating status is estimated on the basis of measurements of the motor's drive current. No additional external sensors are used. In order to improve the estimations, in particular when the motor operates at low velocity, it is a standard procedure to inject an external high-frequency probing signal into the motor's drive voltage.

The article “Adding virtual measurements by signal injection” by Pascal Combes et al., published in 2016 in the proceedings of the 2016 American Control Conference on pages 999 ff., conceptualizes and generalizes the signal injection technique for the sensorless control of electric motors at low speed.

Signal injection is an effective method, but it comes at a price: the ripple it creates may in practice yield unpleasant acoustic noise and excite unmodeled dynamics. In particular, in the very common situation where the electric motor is fed by a PWM inverter, the frequency of the injected probing signal may not be as high as desired so as not to interfere with the PWM (typically, it cannot exceed 500 Hz in an industrial drive with a 4 kHz-PWM frequency).

The article “A novel approach for sensorless control of PM machines down to zero speed without signal injection or special PWM technique” by C. Wang et al., IEEE Transactions on Power Electronics, Vol. 19, No. 6, November 2004, pages 1601 ff., proposes to measure the phase current ripples induced by conventional PWM to derive the rotor position and speed of a PWM-controlled electric motor. However, this approach is based on the measurement of current derivatives, which requires specialized current sensors and is sensitive to noise.

SUMMARY

In view of the above, it is an object of the present disclosure to provide a PWM-based variable speed drive with an improved sensorless AC motor control without signal injection.

According to the present disclosure, this object is achieved with a variable speed drive for the closed loop control of the operation of an AC electric motor based on a given control law, the variable speed drive comprising:

-   -   an output terminal for delivering a controlled alternating drive         voltage to the controlled AC electric motor;     -   a solid-state power inverter for generating the drive voltage;     -   a drive controller for controlling the generation of the drive         voltage by the power inverter; and     -   a drive current sensing device for measuring the instantaneous         intensity of the drive current taken up by the controlled AC         electric motor, and for providing the resulting measurements as         a drive current intensity signal to the drive controller,         wherein the drive controller includes:     -   a pulse-width modulation generator;     -   a control law module storing the given control law; and     -   a state variable estimation module for estimating the         instantaneous value of at least one state variable of the         controlled AC electric motor,         wherein the control law module is adapted to, based on the         stored control law and state variable estimates provided by the         estimation module, compute a target voltage signal and output         the computed target voltage signal to the pulse-width modulation         generator,         wherein the pulse-width modulation generator is adapted to:     -   approximate the received target voltage signal with a         pulse-width modulated inverter control signal;     -   control the operation of the power inverter using the inverter         control signal, thereby obtaining the drive voltage;     -   compute, based on the deviation between the inverter control         signal and the target voltage signal, a state variable         estimation support signal; and     -   output the computed state variable estimation support signal to         the state variable estimation module, and         wherein the state variable estimation module is adapted to:     -   estimate the instantaneous value of a state variable of the AC         electric motor based on the received state variable estimation         support signal and the drive current intensity signal provided         by the drive current sensing device; and     -   output the resulting state variable estimate to the control law         module.

By modifying the PWM generator so that it computes an estimation support signal based on the PWM, and by providing this estimation support signal to the state variable estimator, the state variable estimator has supplementary information, which it can use to improve its state variable estimations.

Optionally, the variable speed drive according to the present disclosure can have the following features, separately or in combination one with the others:

-   -   the pulse-width modulation generator is adapted to compute the         state variable estimation support signal based on a pulse-width         modulation inherent disturbance signal, which is obtained by         subtracting the target voltage signal from the inverter control         signal;     -   the pulse-width modulation generator is adapted to compute the         state variable estimation support signal by integrating the         disturbance signal to obtain the primitive of the disturbance         signal;     -   the variable speed drive is adapted to rely on a single feedback         to perform closed loop control of the AC electric motor, namely         the drive current intensity signal provided by the drive current         sensing device;     -   the variable speed drive is adapted to control the operation of         the AC electric motor without the injection of a dedicated         probing signal into the drive voltage;     -   the drive controller further includes an analog-to-digital         converter for converting the drive current intensity signal into         a digital signal prior to its input into the state variable         estimation module;     -   the state variable estimation module is adapted to estimate the         instantaneous value of the rotor position of the electric motor         based on the received state variable estimation support signal         and the drive current intensity signal provided by the drive         current sensing device;     -   the pulse-width modulation generator is adapted to apply         three-phase pulse-width modulation with single carrier to         generate the inverter control signal;     -   the pulse-width modulation generator is adapted to apply         three-phase pulse-width modulation with interleaved carriers to         generate the inverter control signal.

According to a further aspect, the present disclosure also relates to an electric drive assembly comprising a synchronous reluctance motor or a permanent-magnet synchronous motor and a variable speed drive as defined above for controlling the motor.

According to yet a further aspect, the present disclosure also relates to a method of controlling, in a closed loop, the operation of an AC electric motor based on a given control law, the method comprising the following steps:

-   a) measuring the instantaneous intensity of the drive current taken     up by the controlled AC electric motor; -   b) estimating the instantaneous value of a state variable of the AC     electric motor using the measured drive current intensity; -   c) computing, based on the given control law and the estimated state     variable, a target voltage signal; -   d) approximating the computed target voltage signal with a     pulse-width modulated inverting control signal; -   e) computing, based on the deviation between the inverting control     signal and the target voltage signal, a state variable estimation     support signal; -   f) generating, by voltage inversion, a controlled alternating drive     voltage using the inverting control signal; and -   g) delivering the generated drive voltage to the controlled AC     electric motor;     wherein the state variable estimation according to step b) relies on     the state variable estimation support signal computed in step e) as     an additional input together with the drive current intensity     measured in step a).

BRIEF DESCRIPTION OF DRAWINGS

Other features, details and advantages will be shown in the following detailed description and in the figures, in which:

FIG. 1 is a block diagram of an electric drive assembly of the present disclosure, with a variable speed drive and an AC electric motor.

FIG. 2 is a block diagram illustrating the signal flow and processing in the electric drive assembly of FIG. 1, and FIGS. 3 through 22 illustrate example graphs.

DESCRIPTION OF EMBODIMENTS I. Exemplary Setup of a Variable Speed Drive According to the Present Disclosure

FIG. 1 is a schematic diagram of an electric drive assembly 100 according to the present disclosure. The electric drive assembly 100 comprises a variable speed drive, or VSD, 200 and an AC electric motor 300.

The electric drive assembly 100 may be used in diverse industrial settings. For example, it may drive a fan of a heating, ventilation and air conditioning (HVAC) system. As another example, it may also be used to drive a water pump of a sewage installation. Many other industrial applications can be envisaged by the skilled person.

Preferably, the AC electric motor 300 is a synchronous motor, such as a permanent magnet synchronous motor, or PMSM, or a synchronous reluctance motor, or SynRM.

The purpose of the variable speed drive 200 is to control the proper operation of the electric motor 300. Thanks to the variable speed drive 200, the motor 300 can be operated at the right speed at the right time, depending on the application. The variable speed drive 200 may also allow to control the torque output of the electric motor 300 to its load.

The variable speed drive 200 controls the electric motor 300 in a closed loop. This means that the variable speed drive 200 constantly receives feedback on the instantaneous status of the motor 300 during the control of the motor. The variable speed drive 200 adjusts its control of the electric motor 300 based on a given control law. The specifics of the control law depend on the type of application of the electric motor 300.

With reference to FIG. 1, the variable speed drive 200 comprises an output terminal 210, a solid-state power inverter 220, a drive controller 230, and a drive current sensing device or current sensor 240.

The variable speed drive 200 is electrically connected to the electric motor 300 via its output terminal 210. The power output 210 delivers a controlled alternating drive voltage u_(pwm) to the AC electric motor 300. The drive voltage u_(pwm) is a modulated signal whose amplitude is determined by the DC voltage Vbus applied to the power inverter 220. The modulation frequency of the drive voltage u_(pwm) depends on the switching frequency of the power inverter 220. The modulated drive voltage u_(pwm) emulates an ideal sinusoidal drive voltage whose amplitude and frequency determine the operation of the electric motor 300.

The power inverter 220 generates the drive voltage u_(pwm) by chopping up a DC voltage with the help of solid-state switches T1, T2.

The skilled person will note that the diagram of FIG. 1 shows a single phase control. This is only for simplification. Typically, the electric motor 300 will be a three-phase motor. In this case, the power inverter 220 generates a drive voltage for each of the three phases of the motor.

The current sensor 240 of the VSD 200 measures the instantaneous intensity of the drive current taken up by the electric motor 300. The current sensor 240 provides its measurements as a drive current intensity signal i_(s) to the drive controller 230.

According to the present disclosure, the motor control by the VSD 200 is a so-called “sensorless” control. This means that the control feedback entirely relies on the current measurements provided by the current sensor 240. There are no external sensors mounted on the motor 300, such as shaft encoders and the like, to provide feedback to the VSD 200 on the motor status.

The drive controller 230 controls the generation of the drive voltage u_(pwm) by the power inverter 220. This is done on the basis of an inverter control signal M provided by the drive controller 230 to the power inverter 220.

The drive controller 230 may be implemented as a microcontroller or a field programmable gate array (FPGA).

According to the present disclosure, the drive controller 230 includes a pulse-width modulation, or PWM, generator 232, a control law module 234 storing the given control law, a state variable estimation module 236, and an analog to digital converter, or ADC, 238.

The control law module 234 is adapted to, based on the stored control law and state variable estimates z₀ to z_(n) provided by the estimation module 236, compute a target voltage signal u_(s) and output the computed target voltage signal u_(s) to the PWM generator 232.

The target voltage signal u_(s) represents the analog voltages that must be applied to the stator windings of the electric motor 300 to obtain the desired speed or torque from the motor 300.

Since the variable speed drive 200 relies on pulse-width modulation, the target voltage signal u_(s) is not directly applied to the electric motor 300. Rather, it is fed to the PWM generator 232 to be approximated by the pulse-width modulated inverter control signal M, which in turn is used to control the power inverter 220.

The pulse-width modulation generator 232 may apply three-phase pulse-width modulation with single carrier to generate the inverter control signal M (i.e. the approximation of the target voltage signal u_(s)).

Alternatively, the PWM generator may also apply three-phase pulse-width modulation with interleaved carriers to generate the inverter control signal M.

The PWM generator 232 may of course also use other PWM schemes to generate the inverter control signal M.

According to the present disclosure, the PWM generator 232 has the particularity that it computes, based on the deviation between the inverter control signal M and the target voltage signal u_(s), a state variable estimation support signal s₁, and outputs the computed state variable estimation support signal s₁ to the state variable estimation module 236.

The state variable estimation module or estimator 236 estimates the instantaneous value of one or more state variables of the AC electric motor 300 based on the drive current intensity signal i_(s) provided by the drive current sensor 240.

As shown in FIGS. 1 and 2, the estimator 236 may estimate several state variables z₀ to z_(n). These state variables may e.g. correspond to the rotor position of the electric motor, the angular velocity of the motor's rotor, etc.

According to the present disclosure, the estimator 236 also uses the estimation support signal s₁ to estimate the value of at least one of the state variables z₀ to z_(n).

The estimator 236 provides the state variable estimates z₀ to z_(n) to the control law module 234. The control law module 234 uses these estimates in the stored control law in order to determine the target voltage signal u_(s).

As shown in the figures, the drive controller 230 may also include an analog to digital converter 238. The purpose of the ADC 238 is to convert the analog current signal i_(s) provided by the current sensor 240 into a digital signal that can be processed by the estimator 236.

FIG. 2 shows the signal flow between the different components of the electric drive assembly 100 of FIG. 1. The PWM generator 232 receives the target voltage signal u_(s) from the control law module 234. Using pulse-width modulation, it approximates the target voltage signal u_(s) by an inverter control signal M (u, t/ε). The inverter control signal M is fed to the power inverter 220. Based on this control signal M, the inverter 220 delivers a drive voltage u_(pwm) to the electric motor 300. With the current sensor 240, the currents in the motor's stator windings are measured and digitized in the ADC 238. The digitized current signal is then fed to the estimator 236. The estimator 236 also receives the estimation support signal s₁ (u, t/ε) from the PWM generator 232. The estimator 236 provides estimates of different motor state variables z₀ to z_(n) based on the received inputs.

An important aspect of the present disclosure is the enhanced PWM generator 232, which not only generates the inverter control signal M, but also the state variable estimation support signal s₁. With the help of the estimation support signal s₁, the estimation module 236 can extract supplementary information from the current signal i_(s) to improve the state variable estimations.

The PWM generator 232 computes the state variable estimation support signal s₁ based on a pulse-width modulation inherent disturbance signal s₀. In fact, the present disclosure relies on the insight that the inverter control signal M generated by the PWM generator 232 can be modelled as a superposition of the target voltage signal u_(s) and a disturbance signal s₀. Indeed, the inverter control signal M is a series of rectangular voltage pulses of varying widths, which on average, corresponds to the desired target voltage signal u_(s). In other words, the inverter control signal M can be regarded as the desired target voltage signal u_(s) with an added voltage “ripple”. This ripple or PWM disturbance in the voltage creates a disturbance in the stator flux of the motor 300, which in turn creates a disturbance in the measured current i_(s).

The present disclosure takes advantage of this unintended side-effect of the pulse width modulation. The ripple/artefact induced by the pulse-width modulation in the measured currents is used in the state variable estimation. This improves the estimates and thus the control of the electric motor 300.

A measure of the pulse-width modulation disturbance signal s₀ (i.e. the ripple) can be obtained by subtracting the target voltage signal u_(s) from the inverter control signal M. The difference between the target voltage signal us and the inverter control signal M can then be integrated to obtain the primitive s₁ of the disturbance signal s₀.

These calculations, namely the subtraction and the integration, are done by the PWM generator 232. As shown in the figures, the PWM generator 232 provides the result s₁ to the estimator 236.

It can be mathematically shown (see the remainder of the present disclosure) that the primitive s₁ is a useful input for the estimator 236 to determine the instantaneous value of a state variable of the electric motor 300, such as the rotor position θ.

The variable speed drive of the present disclosure is particularly useful for the control of synchronous electric motors at low speeds. By suitably using the excitation provided by the pulse-width modulation itself, the variable speed drive of the present disclosure has the same benefits as a conventional variable speed drive relying on an external excitation signal, without the drawbacks of increased acoustic noise and potential interference with the pulse width modulation.

In the variable speed drive of the present disclosure, standard pulse-width modulation does not need to be modified.

Also, the estimates by the estimation module 236 only require current measurements from standard current sensors. There is no need for current measurements at extremely precise instants, which is prone to measurement errors and very impractical in an industrial drive.

Furthermore, the variable speed drive of the present disclosure also does not require specialized sensors capable of measuring current derivatives, as in other known solutions.

The teachings of the present disclosure may also be applied to the control of other types of actuators. For example, one may think of controlling the operation of an electromagnet in a magnetic bearing, or of a solenoid valve of a hydraulic or pneumatic cylinder.

II. Mathematical Derivation of Exemplary Estimators for Sensorless Electric Motor Control

-   Consider the control system modeled by the evolution equation

ż=f(z)+g(z)u

y _(α) =h(z)  (1)

where z is the internal state vector of the system, u is the control input vector, and y_(α) is the measurement vector. In several practical applications (in particular electromechanical devices fed by PWM inverter), the control input is not applied directly, but through a fast-periodic modulation which yields u only in the mean. The actual system is therefore

{dot over (x)}=f(x)+g(x)

(u,t/ϵ)

y=h(x)

where x is the state vector of the system disturbed by the modulator and y the corresponding measurement. ϵ>0 is a known small number, and

is 1-periodic and has mean u with respect to its second argument, i.e.,

(ν, σ)=

(ν, σ+1) and ∫₀ ¹

(ν, σ)dσ=ν. The system can clearly be written as

{dot over (x)}=f(x)+g(x)(u+s ₀(u,t/ϵ))

y=h(x)

where s₀ defined by s₀(ν, σ):=

(ν,σ)−ν is 1-periodic and has zero mean with respect to its second argument, i.e., s₀(ν, σ)=s₀(ν, σ+1) and ∫₀ ¹s₀(ν, σ)dσ=0. In other words, we consider a generalized kind of signal injection, where the probing signal s₀ is generated by the modulation process itself; notice s₀ depends on u, which causes several difficulties.

-   Thanks to a mathematical analysis based on the cherry of     second-order averaging, it can be shown that the measured signal y     may be written as

y(t)=y _(α)(t)+ϵy _(ν() t)s ₁(u(t),t/ϵ)+O(ϵ²)

where defined by s₁, defined by s₁(ν, σ):=∫₀ ^(σ)s₀(ν, s)ds−∫₀ ¹∫₀ ^(σ)s₀(ν, s)ds dσ, is the zero-mean primitive of s₀ with u considered as a parameter; the “actual measurement” y_(α) and the “virtual measurement” y_(ν) s₁s₁ ^(T) can be interpreted as outputs of the “ideal” system without modulation (1), namely

y _(α) =h(z)  (2)

y _(ν) s ₁ s ₁ ^(T) (u)=h′(z)g(z) s ₁ s ₁ ^(T) (u)  (3)

Notice the square matrix s₁s₁ ^(T) (u)=∫₀ ¹(s₁s₁ ^(T))(u, σ)dσ is in general invertible (see “Multiphase PWM” hereafter), so that we simply have y_(ν)=h′(z)g(z).

-   The overall purpose of the invention is to extract from the measured     signal y estimates of y_(α) and y_(ν) which can be used to control     the system. All is then as if one would want to control the “ideal”     system without modulation (1) with a feedback law relying not only     on the “actual measurement” (2), but also on the “virtual     measurement” (3). The problem is then simpler thanks to the     supplementary information (3); in particular in the case of     sensorless control electric motors at low velocity, this     supplementary information gives access to the rotor position, hence     is instrumental in the design of the control law. The invention     consists mainly of two parts:     -   1) an enhanced modulator, generating not only the modulating         signal         , but also the zero-mean primitive s₁ of s₀     -   2) estimators         and         extracting not only y_(α), but also y_(ν) from the measured         signal y, using the knowledge of s1. -   A possible implementation for the estimators is

$\begin{matrix} {{(t)} = {{\frac{3}{2\epsilon}{\int_{t - \epsilon}^{t}{{y(\tau)}d\; \tau}}} - {\frac{1}{2\epsilon}{\int_{t - {2\epsilon}}^{t - \epsilon}{{y(\tau)}{dt}}}}}} \\ {{(t)\overset{—––}{s_{1}s_{1}^{T}}\left( {u(t)} \right)} = {\frac{1}{\epsilon^{2}}{\int_{t - \epsilon}^{t}{\left( {{y(\tau)} - {(\tau)}} \right){s_{1}\left( {{u(\tau)},{\tau/\epsilon}} \right)}d\; \tau}}}} \end{matrix}$

related to the desired signals by

(t)=y _(α)(t)+

(ϵ²)

(t) s ₁ s ₁ ^(T) (u(t))=y _(ν)(t) s ₁ s ₁ ^(T) (u(t))+

(ϵ).

Notice these estimators are periodic low-pass filters with FIR (Finite Impulse response) many variants relying on different periodic low-pass FIR filters are possible.

III. Pulse-Width Modulation (PWM)

Generating analog physical power signals is extremely impractical, since a lot of power must be dissipated in the amplifier. Pulse Width Modulation (PWM) addresses the issue by using the transistors in saturation mode. Indeed, transistors are more efficient when they are used in saturation than when they are used in their linear range. The desired value is realized in average by adjusting the width of the pulses (hence the name of the technique).

The simplest way to realize a PWM modulator is to compare the analog signal u with a triangular carrier c oscillating between −u_(max) and u_(max) follows:

$\begin{matrix} {{u_{PWM}(t)} = \left\{ {\begin{matrix} {{{- u_{\max}}\mspace{14mu} {if}\mspace{14mu} {c(t)}} > {u(t)}} \\ {{u_{\max}\mspace{14mu} {if}\mspace{14mu} {c(t)}} < {u(t)}} \end{matrix} = {u_{\max {\; \mspace{11mu}}}{sign}\mspace{14mu} \left( {{u(t)} - {c(t)}} \right)}} \right.} \\ {where} \\ {{c(t)} = \left\{ \begin{matrix} {{4{u_{\max}\left( {\frac{t}{T} - k + \frac{1}{4}} \right)}\mspace{14mu} {if}\mspace{14mu} \frac{t}{T}} \in \left\lbrack {{k - \frac{1}{2}},k} \right\rbrack} \\ {{{- 4}{u_{\max}\left( {\frac{t}{T} - k - \frac{1}{4}} \right)}\mspace{14mu} {if}\mspace{14mu} \frac{t}{T}} \in \left\lbrack {k,{k + \frac{1}{2}}} \right\rbrack} \end{matrix} \right.} \end{matrix}$

This is the natural sampling PWM demonstrated in FIG. 10 where the carrier is shown as continuous line c, the analog signal is shown as dashed line u and the PWM signal is shown as dotted line Upwm.

One of the disadvantages of the natural sampling PWM is that the pulses are not symmetrical. To address this issue, we can first sample the analog signal to obtain u[k]=u(kT) and then apply the PWM modulation on the sampled signal. With this PWM scheme we can check that

${\frac{1}{T}{\int_{{({k - \frac{1}{2}})}T}^{{({k + \frac{1}{2}})}T}{{u_{PWM}(t)}{dt}}}} = {{\frac{1}{T}\left( {{\int_{{({k - \frac{1}{2}})}T}^{{({\frac{u{\lbrack k\rbrack}}{4u_{\max}} + k - \frac{1}{4}})}T}{u_{\max}{dt}}} - {\int_{{({\frac{u{\lbrack k\rbrack}}{4u_{\max}} + k - \frac{1}{4}})}T}^{{({{- \frac{({u{\lbrack k\rbrack}}}{4u_{\max}}} + k + \frac{1}{4}})}T}{u_{{ma}x}{dt}}} + {\int_{{({{- \frac{u{\lbrack k\rbrack}}{4u_{\max}}} + k + \frac{1}{4}})}T}^{{({k + \frac{1}{2}})}T}{u_{\max}{dt}}}} \right)} = {{\frac{u_{\max}}{T}\left( {\frac{u\lbrack k\rbrack}{4u_{\max}} + \frac{1}{4} + {2\frac{u\lbrack k\rbrack}{4u_{\max}}} - \frac{1}{2} + \frac{u\lbrack k\rbrack}{4u_{\max}} + \frac{1}{4}} \right)} = {u\lbrack k\rbrack}}}$

The expression of u_(PWM) can be rewritten under the form u_(PWM)=u+ũ with

${{\overset{\sim}{u}\left( {\frac{t}{T},u} \right)} = {{u_{\max}\mspace{14mu} {sign}\mspace{14mu} \left( {u - {c\left( \frac{t}{T} \right)}} \right)} - u}},$

which is a zero-mean fast-varying periodic signal with a dependence on the control.

IV. Poly-Phase PWM

When controlling poly-phase electrical devices, n>1 analog references must be modulated.

In this case the s₁ will be a vector with n lines and s₁s₁ ^(T) is a n×n matrix.

Traditionally, to facilitate implementation, the n modulators use the same carrier. In this case, when two of the references are equal, this control scheme leads to two equal components in s₁, which means that s₁s₁ ^(T) , will not be invertible, which means that we do not obtain all the information in h′(z)g(z). Besides, when two components are close from one another s₁s₁ ^(T) will be poorly conditioned, which complexities the signal processing.

To get more information and improve the conditioning of s₁s₁ ^(T) , we can use a different carrier for each reference. In this case, the components of s₁ are always independent. Consequently, the matrix s₁s₁ ^(T) , is always invertible and well-conditioned.

V. Application to Sensorless Control of an Unsaturated Synchronous Reluctance Motor (SynRM)

Using Clarke transformation Matrices

${:={\frac{2}{3}\begin{pmatrix} 1 & {{- 1}/2} & {{- 1}/2} \\ 0 & {\sqrt{3}/2} & {{- \sqrt{3}}/2} \end{pmatrix}}},{^{- 1} = \begin{pmatrix} 1 & 0 \\ {{- 1}/2} & {\sqrt{3}/2} \\ {{- 1}/2} & {{- \sqrt{3}}/2} \end{pmatrix}}$

and the rotation

${(\theta)}:=\begin{pmatrix} {\cos \mspace{14mu} \theta} & {{- \sin}\mspace{14mu} \theta} \\ {\sin \mspace{14mu} \theta} & {\cos \mspace{14mu} \theta} \end{pmatrix}$

the model of the Synchronous Reluctant Motor (SynRM) is given by

$\begin{matrix} {\frac{d\; \varphi_{SDQ}}{dt} = {{{\left( {- \theta} \right)}\; u_{Sabc}} - {R_{s}L^{- 1}\varphi_{SDQ}} - {J\; {\omega\varphi}_{SDQ}}}} \\ {\frac{d\; \theta}{dt} = \omega} \\ {t_{Sabc} = {^{- 1}{(\theta)}L^{- 1}\varphi_{SDQ}}} \end{matrix}$

The state of this system is ϕ_(SDQ), the vector of the stator flux in field-oriented DQ frame, and θ, the angular position of the rotor. The vector of stator voltages in physical abc frame, u_(Sabc) is the control input, while ω, the rotor speed, is a disturbance input, which must be obtained to achieve a proper control of the SynRM. When “sensorless” control is used the sole available measurement is the vector of stator currents in physical abc frame, t_(Sabc). The parameters of the model are the stator resistance R_(s) and the matrix of inductances

$L = {\begin{pmatrix} L_{D} & 0 \\ 0 & L_{Q} \end{pmatrix}.}$

Since PWM is used, the voltage can be written u_(Sabc)(t)=ū_(Sabc)(t)+ũ_(Sabc)(t/ϵ·ū_(Sabc)(t)). Rewriting the system in the time scale σ:=t/ϵ, we obtain

$\begin{matrix} {\frac{d\; \varphi_{SDQ}}{d\; \sigma} = {\epsilon \left( {{{\left( {- \theta} \right)}{\overset{\_}{u}}_{Sabc}} + {{\left( {- \theta} \right)}{{\overset{\_}{u}}_{Sabc}\left( {\sigma,{\overset{\_}{u}}_{Sabc}} \right)}} - {R_{s}L^{- 1}\varphi_{SDQ}} - {J\; {\omega\varphi}_{SDQ}}} \right)}} \\ {\mspace{79mu} {\frac{d\; \theta}{d\; \sigma} = {\epsilon\omega}}} \\ {\mspace{79mu} {t_{Sabc} = {^{- 1}{(\theta)}L^{- 1}\varphi_{SDQ}}}} \end{matrix}$

Which is like the standard form of averaging. Applying the averaging procedure, we can show that the PWM disturbance in the voltages creates a disturbance in the stator flux, which becomes ϕ_(SDQ)=ϕ_(SDQ) +ϵ

(−θ)

Ũ_(Sabc)(t/ϵ,ū_(Sabc)), where Ũ_(Sabc) is the primitive of ũ_(Sabc), with zero-mean over a PWM method. The flux disturbance in turn creates a disturbance in the measured currents which becomes

$t_{Sabc} = {{\overset{\_}{t}}_{Sabc} + {{\epsilon }^{- 1}\underset{s{(\theta)}}{\underset{}{(\theta)L^{- 1}{\left( {- \theta} \right)}}}{{\overset{\sim}{U}}_{Sabc}\left( {{t/\epsilon},{\overset{\_}{u}}_{Sabc}} \right)}} + {O\left( \epsilon^{2} \right)}}$

The undisturbed variables follow the original model

$\begin{matrix} {\frac{d{\overset{\_}{\varphi}}_{SDQ}}{dt} = {{{\left( {- \theta} \right)}{\overset{\_}{u}}_{Sa\beta}} - {R_{s}L^{- 1}{\overset{\_}{\varphi}}_{SDQ}} - {J\; \omega {\overset{\_}{\varphi}}_{SDQ}}}} \\ \begin{matrix} {\frac{d\; \theta}{d\; t} = \omega} \\ {{\overset{\_}{t}}_{S\; {\alpha\beta}} = {^{- 1}{(\theta)}L^{- 1}{\overset{\_}{\varphi}}_{SDQ}}} \end{matrix} \end{matrix}$

Thanks to the proposed estimators, provided Ũ_(Sabc)Ũ_(Sabc) ^(T) is the invertible (see “Poly-phase PWM” above), we can recover t_(Sabc) and

(θ) from t_(Sabc), which allow to run the or control law, which computes ū_(Sαβ) from t _(Sαβ), and retrieve θ using

(θ)=

(θ)L⁻¹

(−θ), as can be done with HF injection, but without the need of an additional disturbance.

Adding Virtual Measurements by PWM-Induced Signal Injection

Abstract: We show that for PWM-operated devices, it is possible to benefit from signal injection without an external probing signal, by suitably using the excitation provided by the PWM itself. As in the usual signal injection framework conceptualized in [1], an extra “virtual measurement” can be made available for use in a control law, but without the practical drawbacks caused by an external signal.

I. Introduction

Signal injection is a control technique which consists in adding a fast-varying probing signal to the control input. This excitation creates a small ripple in the measurements, which contains useful information if properly decoded. The idea was introduced in [2], [3] for controlling electric motors at low velocity using only measurements of currents. It was later conceptualized in [1] as a way of producing “virtual measurements” that can be used to control the system, in particular to overcome observability degeneracies. Signal injection is a effective method, see e.g. applications to electromechanical devices along these lines in [4], [5], but it comes at a price; the ripple it creates may in practice yield unpleasant acoustic noise and excite unmodeled dynamics, in particular in the very common situation when the device is fed by a Pulse Width Modulation (PWM) inverter; indeed, the frequency of the probing signal may not be as high as desired so as not to interfere with the PWM (typically, it can not exceed 500 Hz in an industrial drive with a 4 kHz-PWM frequency).

The goal of this paper is to demonstrate that for PWM-operated devices, it is possible to benefit from signal injection without an external probing signal, by using the excitation provided by the PWM itself, as e.g. in [6]. More precisely, consider the Single-Input Single-Output system

{dot over (x)}=f(x)+g(x)u,  (1a)

y=h(x),  (1b)

where u is the control input and y the measured output. We first show in section II that when the control is impressed through PWM, the dynamics may be written as

$\begin{matrix} {\mspace{79mu} {{\overset{.}{x} = {{f(x)} + {{g(x)}\left( {u + {s_{0}\left( {u,\frac{\text{?}}{\text{?}}} \right)}} \right)}}},{\text{?}\text{indicates text missing or illegible when filed}}}} & (2) \end{matrix}$

with s₀ 1-periodic and zero-mean in the second argument i.e. s₀(u, σ+1)=s₀(u, σ) and ∫₀ ¹s₀(u, σ)dσ=0 for all u; ε is the PWM period, hence assumed small. The difference with usual signal injection is that the probing signal s₀ generated by the modulation process now depends not only on time, but also on the control input u. This makes the situation more complicated, in particular because s₀ can be discontinuous in both its arguments. Nevertheless, we show in section III that the second-order averaging analysis of [1] can be extended to this case. In the same way, we show in section IV that the demodulation procedure of [1] can be adapted to make available the so-called virtual measurement

y ₀ :=H ₁(x):=εh′(x)g(x),

in addition to the actual measurement y₀:=H₀(x):=h(x). This extra signal is likely to simplify the design of a control law, as illustrated on a numerical example in section V.

Finally, we list some definitions used throughout the paper, S denotes a function of two variables, which is T-periodic in the second argument, i.e. S(ν, σ+T)=S(ν, σ) for all ν:

-   -   the mean of S in the second argument is the function (of one         variable)

${{\overset{\_}{S}(v)}:={\frac{1}{T}{\int_{0}^{T}{{S\left( {v,\sigma} \right)}d\; \sigma}}}};$

-   -   S has zero mean in the second argument if S is identically zero     -   if S has zero mean in the second argument, its zero-mean         primitive in the second argument is defined by

${{S_{1}\left( {v,\tau} \right)}:={{\int_{0}^{\tau}{{S\left( {v,\sigma} \right)}d\; \sigma}} - {\frac{1}{T}{\int_{0}^{T}{\int_{0}^{\tau}{{S\left( {v,\sigma} \right)}d\; \sigma \; d\; \tau}}}}}};$

-   -   notice S₁ is T-periodic in the second argument because S has         zero mean in the second argument     -   the moving average M(k) of k is defined by

${{M(k)}(t)}:={\frac{1}{ɛ}{\int_{t - ɛ}^{t}{{k(\tau)}d\; \tau}}}$

-   -   _(∞) denotes the uniform “big O” symbol of analysis, namely ƒ(z,         ε)=         _(∞)(ε^(p)) if |ƒ(z, ε)|≤Kε^(p) for ε small enough, with K>0         independent of z and ε.

II. PWM-Induced Signal Injection

When the control input u in (1a) is impressed through a PWM process with period ε, the resulting dynamics reads

$\begin{matrix} {\mspace{79mu} {{\overset{.}{x} = {{f(x)} + {{g(x)}{\mathcal{M}\left( {u,\frac{\text{?}}{\text{?}}} \right)}}}},{\text{?}\text{indicates text missing or illegible when filed}}}} & (3) \end{matrix}$

with

1-periodic and mean u in the second argument; the detailed expression for

is given below. Setting s₀(u, σ):=

(u, σ)−u, (3) obviously takes the form (2), with s₀ 1-periodic and zero-mean in the second argument.

Classical PWM with the period ε and range [−u_(m), u_(m)] is obtained by comparing the input signal u to the ε-periodic sawtooth carrier defined by

$\mspace{20mu} {{c(t)}:=\left\{ {\begin{matrix} {u_{m} + {4{w\left( \frac{\text{?}}{\text{?}} \right)}}} & {{{if}\mspace{14mu} - \frac{\text{?}}{2}} \leq {w\left( \frac{\text{?}}{\text{?}} \right)} \leq 0} \\ {u_{m} - {4{w\left( \frac{\text{?}}{\text{?}} \right)}}} & {{{{if}\mspace{14mu} 0} \leq {w\left( \frac{\text{?}}{\text{?}} \right)} \leq \frac{\text{?}}{2}};} \end{matrix}\text{?}\text{indicates text missing or illegible when filed}} \right.}$

the 1-periodic function

$\mspace{20mu} {{w(\sigma)}:={{u_{m}{{mod}\left( {{\sigma + \frac{1}{2}},1} \right)}} - \frac{\text{?}}{2}}}$ ?indicates text missing or illegible when filed

wraps the normalized time

$\mspace{20mu} {\sigma = {\frac{\text{?}}{\text{?}}\mspace{14mu} {{{to}\mspace{14mu}\left\lbrack {{- \frac{\text{?}}{2}},\frac{\text{?}}{2}} \right\rbrack}.\text{?}}\text{indicates text missing or illegible when filed}}}$

If u varies slowly enough, it crosses the carrier c exactly once on each rising and filling ramp, at times t₁ ^(u)>t₂ ^(u) such that

${u\left( t_{1}^{u} \right)} = {u_{m} + {4{w\left( \frac{t_{1}^{u}}{ɛ} \right)}}}$ ${u\left( t_{2}^{u} \right)} = {u_{m} - {4{{w\left( \frac{t_{2}^{u}}{ɛ} \right)}.}}}$

The PWM-encoded signal is therefore given by

$\mspace{20mu} {{u_{pwm}\left( \text{?} \right)} = \left\{ {{\begin{matrix} u_{m} & {{{if}\mspace{14mu} - \frac{\text{?}}{2}} < {w\left( \frac{\text{?}}{\text{?}} \right)} \leq {w\left( \frac{\text{?}}{\text{?}} \right)}} \\ {- u_{m}} & {{{if}\mspace{14mu} {w\left( \frac{\text{?}}{\text{?}} \right)}} < {w\left( \frac{\text{?}}{\text{?}} \right)} \leq {w\left( \frac{\text{?}}{\text{?}} \right)}} \\ u_{m} & {{{if}\mspace{14mu} {w\left( \frac{\text{?}}{\text{?}} \right)}} < {w\left( \frac{\text{?}}{\text{?}} \right)} \leq \frac{\text{?}}{2}} \end{matrix}.\text{?}}\text{indicates text missing or illegible when filed}} \right.}$

FIG. 3 illustrates the signals u, c and u_(pwm). The function

$\begin{matrix} {{\mathcal{M}\left( {u,\sigma} \right)}:=\left\{ \begin{matrix} u_{m} & {{{if}\mspace{14mu} - {2u_{m}}} < {4{w(\sigma)}} \leq {u - u_{m}}} \\ {- u_{m}} & {{{{if}\mspace{14mu} u} - u_{m}} < {4{w(\sigma)}} \leq {u_{m} - u}} \\ u_{m} & {{{{if}\mspace{14mu} u_{m}} - u} < {4{w(\sigma)}} \leq {2u_{m}}} \end{matrix} \right.} \\ {{= {u_{m} + {{sign}\left( {u - u_{m} - {4{w(\sigma)}}} \right)} + {{sign}\left( {u - u_{m} + {4{w(\sigma)}}} \right)}}},} \end{matrix}$

which is obviously 1-periodic and with mean u with respect to its second argument, therefore completely describes the PWM process since

$\mspace{20mu} {{u_{pwm}(t)} = {{{\mathcal{M}\left( {{u(t)},\frac{\text{?}}{\text{?}}} \right)}.\text{?}}\text{indicates text missing or illegible when filed}}}$

Finally, the induced zero-mean probing signal is

$\mspace{20mu} \begin{matrix} {{s_{0}\left( {u,\sigma} \right)}:={{\mathcal{M}\left( {u,\sigma} \right)} - u}} \\ {{= {u_{m} - u + {{sign}\left( {\frac{u - u_{m}}{\text{?}} - {w(\sigma)}} \right)} + {{sign}\left( {\frac{u - u_{m}}{\text{?}} - {w(\sigma)}} \right)}}},} \end{matrix}$ ?indicates text missing or illegible when filed

and its zero-mean primitive in the second argument is

$\mspace{20mu} {{s_{1}\left( {u,\sigma} \right)}:={{\left( {1 - \frac{u}{u_{m}}} \right){w(\sigma)}} - {{\frac{u - u_{m}}{\text{?}} - {w(\sigma)}}} + {{{{\frac{u - u_{m}}{\text{?}} - {w(\sigma)}}}.\text{?}}\text{indicates text missing or illegible when filed}}}}$

Remark 1: As s₀ is only piecewise continuous, one might expect problems to define the “solutions” of (2). But as noted above, if the input u(t) of the PWM encoder varies slowly enough, its output

$\mspace{20mu} {{u_{pwm}(t)} = {\mathcal{M}\left( {{u(t)},\frac{\text{?}}{\text{?}}} \right)}}$ ?indicates text missing or illegible when filed

will have exactly two discontinuities per PWM period. Chattering is therefore excluded, which is enough to ensure the existence and uniqueness of the solutions of (2), see [7], without the need for the more general Filipov theory [8]. Of course, we assume (without loss of generality in practice) that ƒ, g and h in (1) are smooth enough.

Notice also s₁ is continuous and piecewise C¹ in both its arguments. The regularity in the second argument was to be expected as s₁(u, ·) is a primitive of s₀(u, ·); on the other hand, the regularity in the first argument stems from the specific form of s₀.

II. Averaging and PWM-Induced Injection

Section III-A outlines the overall approach and states the main Theorem 1, which is proved in the somewhat technical section III-B. As a matter of fact, the proof can be skipped without losing the main thread; suffice to say that if s₀ were Lipschitz in the first argument, the proof would essentially be an extension of the analysis by “standard” second-order averaging of [1], with more involved calculations

A. Main Result

Assume we have designed a suitable control law

ū=α(η, Y,t)

{dot over (η)}=α(η, Y,t)

where η∈

^(q), for the system

${\overset{.}{\overset{\_}{x}} = {{f\left( \overset{\_}{x} \right)} + {{g\left( \overset{\_}{x} \right)}\overset{\_}{u}}}},{\overset{\_}{Y} = {{H\left( \overset{\_}{x} \right)}:={\begin{pmatrix} {h\left( \overset{\_}{x} \right)} \\ {{{eh}^{\prime}\left( \overset{\_}{x} \right)}{g\left( \overset{\_}{x} \right)}} \end{pmatrix}.}}}$

By “suitable”, we mean the resulting closed-loop system

{dot over (x)} =ƒ( x )+g( x )α(η,H( x ),t)  (4a)

{dot over (η)}=α(η,H( x ),t)  (4b)

has the desired exponentially stable behavior. We have changed the notations of the variables with · to easily distinguish between the solutions of (4) and of (7) below. Of course, this describes an unrealistic situation:

-   -   PWM is not taken into account     -   the control law is not implementable, as it uses not only the         actual output y _(α)=h(x), but also the a priori not available         virtual output y _(ε)=εh′(x)g(x).

Define now (up to o_(∞)(ε²)) the function

H (x,η,σ,t):=H(x−εg(x)s ₁(α(η,H(x),t),σ))+

_(∞)(ε²),  (5)

where s₁ is the zero mean primitive of s₀ in the second argument, and consider the control law

$\begin{matrix} {\mspace{79mu} {u = {\alpha\left( {\eta,{\overset{\_}{H}\left( {x,\eta,\frac{\text{?}}{\text{?}},t} \right)},t} \right)}}} & \left( {6a} \right) \\ {\mspace{79mu} {\overset{.}{\eta} = {{{a\left( {\eta,{\overset{\_}{H}\left( {x,\eta,\frac{\text{?}}{\text{?}},t} \right)},t} \right)}.\text{?}}\text{indicates text missing or illegible when filed}}}} & \left( {6b} \right) \end{matrix}$

The resulting closed-loop system, including PWM, reads

$\begin{matrix} {\mspace{76mu} {\overset{.}{x} = {{f(x)} + {{g(x)}{\mathcal{M}\left( {{\alpha\left( {\eta,{\overset{\_}{H}\left( {x,\eta,\frac{\text{?}}{\text{?}},t} \right)},t} \right)},\frac{\text{?}}{\text{?}}} \right)}}}}} & \left( {7a} \right) \\ {\mspace{76mu} {\overset{.}{\eta} = {{{a\left( {\eta,{\overset{\_}{H}\left( {x,\eta,\frac{\text{?}}{\text{?}},t} \right)},t} \right)}.\text{?}}\text{indicates text missing or illegible when filed}}}} & \left( {7b} \right) \end{matrix}$

Though PWM is now taken into account the control law (6) still seems to contain unknown terms.

Nevertheless, it will turn out from the following result that it can be implemented.

Theorem 1: Let (x(t), η(t)) be the solution of (7) starting from (x₀, η₀), and define u(t):=α(η(t), H(x(t)), t) and y(t):=H(x(t)); let (x(t), η(t)) be the solution of (4) starting from (x₀−εg(x₀). s₁(u(0), 0), η₀), and define ū(t):=α(η(t), H(x(t)),t). Then, for t≥0,

$\begin{matrix} {\mspace{76mu} {{x(t)} = {{\overset{\_}{x}(t)} + {ɛ\; {g\left( {\overset{\_}{x}(t)} \right)}{s_{1}\left( {{\overset{\_}{u}(t)},\frac{\text{?}}{\text{?}}} \right)}} + {_{\infty}\left( ɛ^{2} \right)}}}} & \left( {8a} \right) \\ {\mspace{76mu} {{\eta (t)} = {{\overset{\_}{\eta}(t)} + {_{\infty}\left( ɛ^{2} \right)}}}} & \left( {8b} \right) \\ {\mspace{76mu} {{y(t)} = {{H_{0}\left( {\overset{\_}{x}(t)} \right)} + {{H_{1}\left( {\overset{\_}{x}(t)} \right)}{s_{1}\left( {{\overset{\_}{u}(t)},\frac{\text{?}}{\text{?}}} \right)}} + {{{_{\infty}\left( ɛ^{2} \right)}.\text{?}}\text{indicates text missing or illegible when filed}}}}} & \left( {8c} \right) \end{matrix}$

The practical meaning of the theorem is the following. As the solution (x(t), η(t))) is piecewise C¹, we have by Taylor expansion using (8a)-(8b) that u(t)=ū(t)+

_(∞)(ε²). In the same way, as s₁ is also piecewise C¹, we have

$\mspace{20mu} {{s_{1}\left( {{u(t)},\frac{\text{?}}{\text{?}}} \right)} = {{s_{1}\left( {{\overset{\_}{u}(t)},\frac{\text{?}}{\text{?}}} \right)} + {{{_{\infty}\left( ɛ^{2} \right)}.\text{?}}\text{indicates text missing or illegible when filed}}}}$

As a consequence, we can invert (8a)-(8b), which yields

$\begin{matrix} {\mspace{76mu} {{\overset{\_}{x}(t)} = {{x(t)} - {ɛ\; {g\left( {x(t)} \right)}{s_{1}\left( {{u(t)},\frac{\text{?}}{\text{?}}} \right)}} + {_{\infty}\left( ɛ^{2} \right)}}}} & \left( {9a} \right) \\ {\mspace{76mu} {{\overset{\_}{\eta}(t)} = {{\eta (t)} + {{{_{\infty}\left( ɛ^{2} \right)}.\text{?}}\text{indicates text missing or illegible when filed}}}}} & \left( {9b} \right) \end{matrix}$

Using this into (5), we then get

$\begin{matrix} \begin{matrix} \begin{matrix} {{{\overset{\_}{H}\left( {{x(t)},{\eta (t)},\frac{\text{?}}{\text{?}},t} \right)} = {{H\left( {{x(t)} - {ɛ\; {g\left( {x(t)} \right)}{s_{1}\left( {{u(t)},\frac{\text{?}}{\text{?}}} \right)}}} \right)} + {_{\infty}\left( ɛ^{2} \right)}}},} \\ {= {{H\left( {\overset{\_}{x}(t)} \right)} + {{_{\infty}\left( ɛ^{2} \right)}.}}} \end{matrix} \\ {\text{?}\text{indicates text missing or illegible when filed}} \end{matrix} & (10) \end{matrix}$

On the other hand, we will see in section IV that, thanks to (8c), we can produce an estimate Ŷ=H(x)+

_(∞)(ε²). This means the PWM-fed dynamics (3) acted upon by the implementable feedback

u=α(η,Ŷ,t)

{dot over (η)}=α(η,Ŷ,t).

behaves exactly as the closed-loop system (4) except for the presence of a small ripple (described by (8a)-(8b)).

Remark 2: Notice that, according to Remark 1, H₀(x(t)) and H₁(x(t)) in (8c) may be as smooth as desired (the regularity is inherited from only f, g, h, α, a); on the other hand

$\mspace{20mu} {s_{1}\left( {{u(t)},\frac{\text{?}}{\text{?}}} \right)}$ ?indicates text missing or illegible when filed

is only continuous and piecewise C¹. Nevertheless, this is enough to justify all the Taylor expansions performed in the paper.

Proof of Theorem 1

Because of the lack of regularity of s₀, we must go hack to the fundamentals of the second-order averaging theory presented in [9, chapter 2] (with slow time dependence [9, section 3.3]). We first introduce two ad hoc definitions.

Definition 1: A function φ(X, σ) is slowly-varying in average if there exists λ>0 such that for ε small enough,

∫_(α) ^(α+T)∥φ(p(εσ)+ε^(k) q(σ),σ)−φ(p(εσ),σ)∥dσ≤λTε ^(k),

where p, q are continuous with q bounded; α and T>0 are arbitrary constants. Notice that if φ is Lipschitz in the first variable then it is slowly-varying in average. The interest of this definition is that it is satisfied by s₀.

Definition 2: A function φ is

_(∞)(ε³) in average if there exists K>0 such that ∥∫₀ ^(α)ϕ(q(s), s)ds∥≤k ε³σ for all σ≥0. Clearly, if ϕ is

_(∞)(ε³) then it is

_(∞)(ε³) in average.

The proof of Theorem 1 follows the same steps as [9, chapter 2], but with weaker assumptions. We first rewrite (7) in the fast timescale σ:=t/ε as

$\begin{matrix} {{\frac{dX}{d\; \sigma} = {{ɛ\; {{F\left( {X,\sigma,{ɛ\sigma}} \right)}.{where}}\mspace{14mu} X}:={\left( {x,\eta} \right)\mspace{14mu} {and}}}}{{F\left( {X,\sigma,\tau} \right)}:={\begin{pmatrix} {{f(x)} + {{g(x)}{\mathcal{M}\left( {\alpha \left( {\eta,{\overset{\_}{H}\left( {x,\eta,\sigma,\tau} \right)},\tau} \right)} \right)}}} \\ {a\left( {\eta,{\overset{\_}{H}\left( {x,\eta,\sigma,\tau} \right)},\tau} \right)} \end{pmatrix}.}}} & (11) \end{matrix}$

Notice F is 1-periodic in the second argument. Consider also the so-called averaged system

$\begin{matrix} {\frac{d\overset{\_}{X}}{d\; \sigma} = {ɛ\; {{\overset{\_}{F}\left( {\overset{\_}{X},{ɛ\sigma}} \right)}.}}} & (12) \end{matrix}$

where F is the mean F in the second argument.

Define the near-identity transformation

$\begin{matrix} {{{X = {\overset{\sim}{X} + {ɛ\; {W\left( {\overset{\sim}{X},\sigma,{ɛ\sigma}} \right)}}}},{{{where}\mspace{14mu} \overset{\sim}{X}}:={\left( {\overset{\sim}{x},\overset{\sim}{\eta}} \right)\mspace{14mu} {and}}}}{{W\left( {\overset{\sim}{X},\sigma,\tau} \right)}:={\begin{pmatrix} {g\left( \overset{\sim}{x} \right)} \\ 0 \end{pmatrix}{{s_{1}\left( {{\alpha \left( {\overset{\sim}{\eta},{H\left( {\overset{\sim}{x},\overset{\sim}{\eta},\sigma,\tau} \right)},\tau} \right)},\sigma} \right)}.}}}} & (13) \end{matrix}$

Inverting (13) yields

{tilde over (X)}=X−εW(X,σ,εσ)+

_(∞)(ε²).  (14)

By lemma 1, this transformation puts (11) into

$\begin{matrix} {{\frac{d\overset{\sim}{X}}{d\; \sigma} = {{ɛ\overset{\_}{\; F}\left( {\overset{\sim}{X},{ɛ\sigma}} \right)} + {ɛ^{2}{\Phi\left( {\overset{\sim}{X},\sigma,{ɛ\sigma}} \right)}} + {\varphi\left( {\overset{\sim}{X},\sigma,{ɛ\sigma}} \right)}}};} & (15) \end{matrix}$

Φ is periodic and zero-mean in the second argument, and slowly-varying in average, and ϕ is

_(∞)(ε³) in average.

By lemma 2, the solutions X(σ) and {tilde over (X)}(σ) of (12) and (15), starting from the same initial conditions, satisfy

{tilde over (X)}(σ)= X (σ)+

_(∞)(ε³).

As a consequence, the solution X(σ) of (11) stating from X₀ and the solution X(σ) of (12) starting from X₀−εW(X₀, 0, 0) are related by X(σ)=X(σ)+εW(X(σ), σ, εσ)+

_(∞)(ε²), which is exactly (8a)-(8b). Inserting (8a) in y=h(x) and Taylor expanding yields (8c).

Remark 3: If s₀ were differentiable in the first variable, Φ would be Lipschitz and ϕ would be

on a in (15), hence the averaging theory of [9] would directly apply.

Remark 4. In the sequel, we prove for simplicity only the estimation {tilde over (X)}(σ)=X(σ)+

(ε²) on a timescale 1/ε. The continuation to infinity follows from the exponential stability of (4), exactly as in [1, Appendix].

In the same way, lemma 2 is proved without slow-time dependence, the generalization being obvious as in [9, section 3.3].

Lemma 1: The transformation (13) puts (11) into (15), where Φ is periodic and zero-mean in the second argument, and slowly-varying in average, ϕ is

_(∞)(ε³) in average.

Proof: To determine the expression for d{tilde over (X)}/dσ, the objective is to compute dX/dσ as a function of {tilde over (X)} with two different methods. On the one hand we replace X with its transformation (13) in the closed-loop system (11), and on the other hand we differentiate (13) with respect to σ.

We first compute s₀(α(η, H(x, η, σ, εσ), εσ), σ) as a function of {tilde over (X)}=({tilde over (x)}, {tilde over (η)}). Exactly as in (10), with ({tilde over (x)}, {tilde over (η)}) replacing (x, η), and (14) replacing (9), we have

H (x,η,σ,εσ)=H({tilde over (x)})+

_(∞)(ε²).

Therefore, by Taylor expansion

α(η, H (x,η,σ,εσ),εσ)=α({tilde over (η)},H({tilde over (x)}),εσ)+ε² K _(α)({tilde over (X)},σ),

with K_(α) bounded. The lack of regularity of s₀ prevents further Taylor expansion; nonetheless, we still can write

s ₀(α(η, H (x,η,σ,εσ),εσ),σ)=s ₀(α({tilde over (η)},H({tilde over (x)}),εσ)+ε² K _(α)({tilde over (X)},σ),σ).

Finally inserting (13) into (11) and Taylor expanding, yields after tedious but straightforward computations,

$\begin{matrix} {{{\frac{dX}{d\; \sigma} = {{ɛ\; {\overset{\_}{F}\left( {\overset{\sim}{X},{ɛ\sigma}} \right)}} + {ɛ\; {G\left( \overset{\sim}{X} \right)}\text{?}\left( \overset{\sim}{\cdot} \right)} + {ɛ^{2}{\overset{\_}{F}\left( {\overset{\sim}{X},{ɛ\sigma}} \right)}{G(X)}\text{?}\left( \overset{\sim}{\cdot} \right)} + {ɛ^{2}{G^{\prime}\left( \overset{\sim}{X} \right)}{G\left( \overset{\sim}{X} \right)}\text{?}\left( \overset{\sim}{\cdot} \right)\text{?}\left( \overset{\sim}{\cdot} \right)} + {_{\infty}\left( \text{?} \right)}}};}{\text{?}\text{indicates text missing or illegible when filed}}} & (16) \end{matrix}$

we have introduced the following notations

$\mspace{20mu} {\left( \overset{\sim}{\cdot} \right):=\left( {\overset{\sim}{X},\sigma,{ɛ\sigma}} \right)}$ $\mspace{20mu} {{{\text{?}\left( \overset{\sim}{\cdot} \right)}:={\text{?}\left( {{\alpha \left( {\overset{\sim}{\eta},{H\left( \overset{\sim}{x} \right)},{ɛ\sigma}} \right)},\sigma} \right)}},\mspace{20mu} {{\text{?}\left( \overset{\sim}{\cdot} \right)}:={s_{0}\left( {{{\alpha \left( {\overset{\sim}{\eta},{H\left( \overset{\sim}{x} \right)},{ɛ\sigma}} \right)} + {ɛ^{2}\text{?}\left( {\overset{\sim}{X},\sigma} \right)}},\sigma} \right)}}}$ $\mspace{20mu} {{\Delta \text{?}\left( \overset{\sim}{\cdot} \right)}:={{\text{?}\left( \overset{\sim}{\cdot} \right)} - {s_{0}\left( \overset{\sim}{\cdot} \right)}}}$ $\mspace{20mu} {{G(X)}:=\begin{pmatrix} {g(x)} \\ 0 \end{pmatrix}}$ $\mspace{20mu} {{\overset{\_}{F}\left( {X,{ɛ\sigma}} \right)}:={{\begin{pmatrix} {{f(x)} + {{g(x)}{\alpha \left( {\eta,{H(x)},{ɛ\sigma}} \right)}}} \\ {\alpha \left( {\eta,{H(x)},{ɛ\sigma}} \right)} \end{pmatrix}.\text{?}}\text{indicates text missing or illegible when filed}}}$

We now time-differentiate (13), which reads with the previous notations

X={tilde over (X)}+εG({tilde over (X)})s ₁ ^(α)({tilde over (·)}).

This yields

$\begin{matrix} {\frac{dX}{d\sigma} = {\frac{d\overset{\sim}{X}}{d\sigma} + {{{ɛG}^{\prime}\left( \overset{\sim}{X} \right)}\frac{d\overset{\sim}{X}}{d\sigma}s\text{?}\left( \overset{\sim}{\cdot} \right)} + {{ɛG}\left( {{{\overset{\sim}{\left. X \right)}{\partial_{1}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}}\frac{d\overset{\sim}{X}}{d\sigma}} + {{{ɛG}\left( \overset{\sim}{X} \right)}{s_{0}^{\alpha}\left( \overset{\sim}{\cdot} \right)}} + {ɛ^{2}{G\left( \overset{\sim}{X} \right)}{\partial_{3}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}}}},{\text{?}\text{indicates text missing or illegible when filed}}} \right.}}} & (17) \end{matrix}$

since ∂₂s₁ ^(α)=s₀ ^(α). Now assume {tilde over (X)} satisfies

$\begin{matrix} {{\frac{d\overset{\sim}{X}}{d\sigma} = {{ɛ{\overset{\_}{F}\left( {\overset{\sim}{X},{ɛ\sigma}} \right)}} + {{{ɛG}\left( \overset{\sim}{X} \right)}{{\Delta s}_{0}^{\alpha}\left( \overset{\sim}{\cdot} \right)}} + {ɛ^{2}{\Psi \left( \overset{\sim}{\cdot} \right)}}}},} & (18) \end{matrix}$

where Ψ({tilde over (·)}) is yet to be computed. Inserting (18) into (17),

$\begin{matrix} {\frac{dX}{d\sigma} = {{ɛ{\overset{\_}{F}\left( {\overset{\sim}{X},{ɛa}} \right)}} + {{{ɛG}\left( \overset{\sim}{X} \right)}{{\Delta s}_{0}^{\alpha}\left( \overset{\sim}{\cdot} \right)}} + {ɛ^{2}{\Psi \left( \overset{\sim}{\cdot} \right)}} + {ɛ^{2}{G^{\prime}\left( \overset{\sim}{X} \right)}{\overset{\_}{F}\left( {\overset{\sim}{X},{ɛ\sigma}} \right)}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}} + {\epsilon^{2}{G^{\prime}\left( \overset{\sim}{X} \right)}{G\left( \overset{\sim}{X} \right)}{{\Delta s}_{0}^{\alpha}\left( \overset{\sim}{\cdot} \right)}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}} + {ɛ^{2}{G\left( \overset{\sim}{X} \right)}{\partial_{1}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}}{\overset{\_}{F}\left( {\overset{\sim}{X},{ɛ\sigma}} \right)}} + {ɛ^{2}{G\left( \overset{\sim}{X} \right)}{\partial_{1}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}}{G\left( \overset{\sim}{X} \right)}{{\Delta s}_{0}^{\alpha}\left( \overset{\sim}{\cdot} \right)}} + {{{ɛG}\left( \overset{\sim}{X} \right)}{s_{0}^{\alpha}\left( \overset{\sim}{\cdot} \right)}} + {ɛ^{2}{G\left( \overset{\sim}{X} \right)}{\partial_{3}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}}} + {{O_{\infty}\left( ɛ^{3} \right)}.}}} & (19) \end{matrix}$

Next, equation (19) and (16), Ψ satisfies

$\begin{matrix} {{\Psi \left( \overset{\sim}{\cdot} \right)} = {{\left\lbrack {\overset{\_}{F},G} \right\rbrack \left( {\overset{\sim}{X},{ɛ\sigma}} \right){s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}} + {{G^{\prime}\left( \overset{\sim}{X} \right)}{G\left( \overset{\sim}{X} \right)}{s_{0}^{\alpha}\left( \overset{\sim}{\cdot} \right)}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}} - {{G\left( \overset{\sim}{X} \right)}{\partial_{1}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}}{\overset{\_}{F}\left( {\overset{\sim}{X},{ɛ\sigma}} \right)}} - {{G\left( \overset{\sim}{X} \right)}{\partial_{3}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}}} - {{G\left( \overset{\sim}{X} \right)}{\partial_{1}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}}{G\left( \overset{\sim}{X} \right)}{{{\Delta s}_{0}^{\alpha}\left( \overset{\sim}{\cdot} \right)}.}}}} & (20) \end{matrix}$

This gives the expressions of Φ and ϕ in (15),

${{\Phi \left( \overset{\sim}{\cdot} \right)}:={{\left\lbrack {\overset{\_}{F},G} \right\rbrack \left( {\overset{\sim}{X},{ɛ\sigma}} \right){s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}} + {{G^{\prime}\left( \overset{\sim}{X} \right)}{G\left( \overset{\sim}{X} \right)}{s_{0}^{\alpha}\left( \overset{\sim}{\cdot} \right)}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}} - {{G\left( \overset{\sim}{X} \right)}{\partial_{1}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}}{\overset{\_}{F}\left( {\overset{\sim}{X},{ɛ\sigma}} \right)}} - {{G\left( \overset{\sim}{X} \right)}{\partial_{3}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}}}}},{{\varphi \left( \overset{\sim}{\cdot} \right)}:={{ɛ^{2}{\Psi_{1}\left( \overset{\sim}{\cdot} \right)}} + {{{ɛG}\left( \overset{\sim}{X} \right)}{\Delta s}_{0}^{\alpha}}}},{with}$ ${\Psi_{1}\left( \overset{\sim}{\cdot} \right)}:={{- {G\left( \overset{\sim}{X} \right)}}{\partial_{1}{s_{1}^{\alpha}\left( \overset{\sim}{\cdot} \right)}}{G\left( \overset{\sim}{X} \right)}{{{\Delta s}_{0}^{\alpha}\left( \overset{\sim}{\cdot} \right)}.}}$

The last step is to check that Φ and ϕ satisfy the assumptions of the lemma. Since s₀ ^(α), s₁ ^(α), ∂₁s₁ ^(α)and ∂₂s₁ ^(α) are periodic and zero-mean in the second argument, and slowly-varying in average, so is Φ.There remains to prove that ϕ=

_(∞)(ε³) in average. Since Δs₀ ^(α) is slowly-varying in average,

∫₀ ^(σ) ∥Δs ₀ ^(α)({tilde over (·)})(s))∥ds≤λ ₀σε².

with λ₀>0, G being bounded by a constant c_(g), this implies

∥∫₀ ^(σ) εG({tilde over (X)}(s))Δs ₀ ^(α)({tilde over (·)})(s))dsμ≤c _(g)λ₀σε³.

Similarly, ∂₁s₁ being bounded by c₁₁, Ψ₁ satisfies

∥∫₀ ^(σ)ε²Ψ₁({tilde over (·)}(s))ds∥≤c _(g) ² c ₁₁λ₀σε₀ε³.

Summing the two previous inequalities yields

∥∫₀ ^(σ)ϕ({tilde over (·)}(s))ds∥≤λ ₀ c _(g)(1+c ₁₁ c _(g)ε₀)σε³,

which concludes the proof.

Lemma 2: Let X(σ) and {tilde over (X)}(σ) be respectively the solutions of (12) and (15) starting at 0 from the same initial conditions. Then, for all σ≥0

{tilde over (X)}(σ)= X (σ)+

_(∞)(ε²).

Proof: Let E(σ):={tilde over (X)}(σ)−X(σ). Then,

$\begin{matrix} {{E(\sigma)} = {\int_{0}^{\sigma}{\left\lbrack {{\frac{d\overset{\sim}{X}}{d\sigma}(s)} - {\frac{d\overset{\_}{X}}{d\sigma}(s)}} \right\rbrack {ds}}}} \\ {= {{ɛ{\int_{0}^{\sigma}{\left\lbrack {{F\left( {\overset{\sim}{X}(s)} \right)} - {F\left( {\overset{\_}{X}(s)} \right)}} \right\rbrack {ds}}}} + {ɛ^{2}{\int_{0}^{\sigma}{{\Phi \left( {\overset{\sim}{\cdot}(s)} \right)}{ds}}}} + {\int_{0}^{\sigma}{{\varphi \left( {\overset{\sim}{\cdot}(s)} \right)}{ds}}}}} \end{matrix}$

As F Lipschitz with constant λ_(F),

ε∫₀ ^(σ) ∥F({tilde over (X)}(s))−F( X (s))∥ds≤ελ _(F)∫₀ ^(σ) ∥E(s)∥ds.

On the other hand, there exists by lemma 3 c₁ such that

ε²∥∫₀ ^(σ)Φ({tilde over (·)})(s))ds∥≤c ₁ε²

Finally, as ϕ is

_(∞)(ε³) in average, there exists c₂ such that

μ∫₀ ^(σ)ϕ({tilde over (·)}(s))ds∥≤c ₂ε³σ.

The summation of these estimations yields

∥E(σ)∥≤ελ_(F)∫₀ ^(σ) ∥E(s)∥ds+c ₁ε² +c ₂ε³σ.

Then by Gronwall's lemma [9, Lemma 1.3.3]

$\left. ||{E(\sigma)}||{\leq {\left( {\frac{c_{2}}{\lambda_{p}} + c_{1}} \right)e^{\lambda p\sigma}ɛ^{2}}} \right.,$

which means {tilde over (X)}=X+

_(∞)(ε²).

The following lemma is an extension of Besjes' lemma [9, Lemma 2.8.2] when φ is no longer Lipschitz, but only slowly-varying in average.

Lemma 3: Assume φ(X, σ) is T-periodic and zero-mean in the second argument, bounded, and slowly-varying in average. Assume the solution X(σ) of {dot over (X)}=

_(∞)(ε) is defined for 0≤σ≤L/ε. There exists c₁>0 such that

∥∫₀ ^(σ)φ(X(s),s)ds∥≤c ₁.

Proof: Along the lines of [9], we divide the interval [0, t] in m subintervals [0, T], . . . , [(m−1)T, mT] and a remainder [mT, t]. By splitting the integral on those intervals, we write

${{\int_{0}^{\sigma}{{\phi \left( {{ϰ(s)},s} \right)}{ds}}} = {{\sum\limits_{i = 0}^{m}\; {\int_{{({i - 1})}T}^{\text{?}T}{{\phi \left( {{ϰ\left( {\left( {i - 1} \right)T} \right)},s} \right)}{ds}}}} + {\sum\limits_{i = 0}^{m}\; {\int_{{({i - 1})}T}^{\text{?}T}{\left\lbrack {{\phi \left( {{ϰ(s)},s} \right)} - {\phi \left( {{ϰ\left( {\left( {i - 1} \right)T} \right)},s} \right)}} \right\rbrack {ds}}}} + {\int_{mT}^{\sigma}{{\phi \left( {{ϰ(s)},s} \right)}{ds}}}}},{\text{?}\text{indicates text missing or illegible when filed}}$

where each of the integral in the first sum are zero as φ is periodic with zero mean. Since φ is bounded, the remainder is also bounded by a constant c₂>0. Besides

$\begin{matrix} {{x(s)} = {{x\left( {\left( {i - 1} \right)T} \right)} + {\int_{{({i - 1})}T}^{\text{?}}{\overset{.}{ϰ\ }(\tau){d\tau}}}}} \\ {{= {{ϰ\left( {\left( {i - 1} \right)T} \right)} + {{ɛq}(s)}}},} \end{matrix}$ ?indicates text missing or illegible when filed

with q continuous and bounded. By hypothesis, there exists λ>0 such that 0≤i≤m,

∫_((i−)1)T^(T)∥φ(x(s),s)−φ(x((i−1)T),s)∥ds≤λTε

Therefore by summing the previous estimations,

∥∫₀ ^(σ)φ(x(s),s)ds∥≤mλTε+o ₂,

with mT≤t≤L/ε, consequently mλTε+o₂≤λL+o₂; which concludes the proof.

IV. Demodulation

From (8c), we can write the measured signal y as

${{(t)} = {{_{\alpha}(t)} + {{_{\upsilon}(t)}{s_{1}\left( {{u(t)},\frac{t}{ɛ}} \right)}} + {O_{\infty}\left( ɛ^{2} \right)}}},$

where the signal u feeding the PWM encoder is known. The following result shows y_(α) and y_(ν) can he estimated from y, for use in a control law as described in section III-A.

Theorem 2: Consider the estimators ŷ_(α) and ŷ_(u) defined by

${{\hat{}}_{\alpha}(t)}:={{\frac{3}{2}{M()}(t)} - {\frac{1}{2}{M()}\left( {t - ɛ} \right)}}$ ${k_{\Delta}(\tau)}:={\left( {{(\tau)} - {{\hat{}}_{\text{?}}(\tau)}} \right){s_{1}\left( {{u(\tau)},\frac{\tau}{ɛ}} \right)}}$ ${{{\hat{}}_{\upsilon}(t)}:=\frac{{M\left( k_{\Delta} \right)}(t)}{\overset{\_}{s_{1}^{2}}\left( {u(t)} \right)}},{\text{?}\text{indicates text missing or illegible when filed}}$

where M:y

ε⁻¹∫₀ ^(ε)y(τ)dτ is the moving average operator, and s₁ ² the mean of s₁ ² in the second argument (cf end of section I). Then,

ŷ _(α() t)=y _(α)(t)+

_(∞)(ε²)  (21a)

ŷ _(ν)(t)=y _(ν)(t)′

_(∞)(ε²).  (21b)

Recall that by construction y_(ν)(t)=

_(∞)(ε), hence (21b) is essentially a first-order estimation; notice also that s₁ ² (u(t)) is always non-zero when u(t) does not exceed the range of the PWM encoder.

Proof: Taylor expanding y_(α), y_(ν), u and s₁ yields

${_{\text{?}}\left( {t - \tau} \right)} = {{_{\text{?}}(t)} - {r{{\overset{.}{y}}_{\text{?}}(t)}} + {O_{\infty}(\tau)}^{2}}$ _(ν)(t − τ) = _(v)(t) + O_(∞)(ɛ)O_(∞)(τ) $\begin{matrix} {{s_{1}\left( {{u\left( {t - \tau} \right)},\sigma} \right)} = {s_{1}\left( {{{u(t)} + {O_{\infty}(\tau)}},\sigma} \right)}} \\ {{= {{s_{1}\left( {{u(t)},\sigma} \right)} + {O_{\infty}(\tau)}}};} \end{matrix}$ ?indicates text missing or illegible when filed

in the second equation, we have used y_(ν)(t)=

_(∞)(ε). The moving average y_(α) then reads

$\begin{matrix} {\begin{matrix} {{{M\left( _{\text{?}} \right)}(t)} = {\frac{1}{ɛ}{\int_{0}^{ɛ}{{_{\text{?}}\left( {t - \tau} \right)}{dr}}}}} \\ {= {\frac{1}{ɛ}{\int_{0}^{ɛ}{\left( {{_{\text{?}}(t)} - {\tau {{\overset{.}{}}_{\text{?}}(t)}} + {O_{\infty}\left( \tau^{2} \right)}} \right){dr}}}}} \\ {= {{_{\text{?}}(t)} - {\frac{ɛ}{2}{{\overset{.}{}}_{\text{?}}(t)}} + {{O_{\infty}\left( ɛ^{2} \right)}.}}} \end{matrix}{\text{?}\text{indicates text missing or illegible when filed}}} & (24) \end{matrix}$

A similar computation for

${k_{\text{?}}(t)}:={{_{\text{?}}(t)}{s_{1}\left( {{u(t)},\frac{t}{\mathcal{e}}} \right)}}$ ?indicates text missing or illegible when filed

yields

$\begin{matrix} {\begin{matrix} {{{M\left( k_{\nu} \right)}(t)} = {\frac{1}{s}{\int_{0}^{\text{?}}{{_{\nu}\ \left( {t - \tau} \right)}{s_{1}\left( {{u\left( {t - \tau} \right)},\frac{t - r}{ɛ}} \right)}{d\tau}}}}} \\ {= {{{_{\nu}(t)}\left( {{\overset{\_}{s_{1}}\left( {u(t)} \right)} + {O_{\infty}(ɛ)}} \right)} + {O_{\infty}\left( ɛ^{2} \right)}}} \\ {{= {O_{\infty}\left( ɛ^{2} \right)}},} \end{matrix}{\text{?}\text{indicates text missing or illegible when filed}}} & (23) \end{matrix}$

since s₁ is 1-periodic and zero mean in the second argument. Summing (22 and (23), we eventually find

$\mspace{20mu} {{{M(y)}(t)} = {{\text{?}(t)} - {\frac{ɛ}{2}\text{?}(t)} + {{{_{\infty}\left( ɛ^{2} \right)}.\text{?}}\text{indicates text missing or illegible when filed}}}}$

As a consequence, we get after another Taylor expansion

3/2M(y)(t)−½M(y)(t−ε)=y _(α)(t)+

_(∞)(ε²),

which is the desired estimation (21a).

On the other hand, (21a) implies

k _(Δ)(t)=y _(ν)(t)s ₁ ²(u(t),t/ε)+

_(∞)(ε²).

Proceeding as for M(k_(ν)), we find

$\mspace{20mu} \begin{matrix} {{{M\left( k_{\Delta} \right)}(t)} = {\frac{1}{ɛ}{\int_{0}^{ɛ}{\text{?}\left( {t - \tau} \right){s_{1}^{2}\left( {{u\left( {t - \tau} \right)},\frac{ɛ - \tau}{ɛ}} \right)}d\; \tau}}}} \\ {= {{\text{?}(t)\left( {{\overset{\_}{s_{1}^{2}}\left( {u(t)} \right)} + {_{\infty}(ɛ)}} \right)} + {_{\infty}\left( ɛ^{2} \right)}}} \\ {= {{\text{?}(t){\overset{\_}{s_{1}^{2}}\left( {u(t)} \right)}} + {{_{\infty}\left( ɛ^{2} \right)}.}}} \end{matrix}$ ?indicates text missing or illegible when filed

Dividing by s₁ ² (u(t)) yields the desired estimation (21b).

V. Numerical Example

We illustrate the interest of the approach on the system

{dot over (x)}₁=x₂,

{dot over (x)}₂=x₃,

{dot over (x)} ₃ =u+d,

y=x ₂ +x ₁ x ₃,

where d is an unknown disturbance; u will be impressed through PWM with frequency 1 kHz (i.e. ε=10⁻³) and range [−20, 20]. The objective is to control x₁, while rejecting the disturbance d, with a response time of a few seconds. We want to operate around equilibrium points, which are of the form (x₁ ^(eq), 0, 0; −d^(eq), d^(eq)), for x₁ ^(eq) and d^(eq) constant. Notice the observability degenerates at such points, which renders not trivial the design of a control law.

Nevertheless the PWM-induced signal injection makes available the virtual measurement

$\mspace{20mu} {{\text{?} = {{{ɛ\begin{pmatrix} x_{3} & 1 & x_{1} \end{pmatrix}}\begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix}} = {ɛ\; x_{1}}}},{\text{?}\text{indicates text missing or illegible when filed}}}$

from which it is easy to design a suitable control law, without even using the actual input y_(α)=x₂+x₁x₃. The system being now fully linear, we use a classical controller-observer, with disturbance estimation to ensure an implicit integral effect. The observes is thus given by

$\mspace{20mu} {{{\overset{.}{\hat{x}}}_{1} = {{\hat{x}}_{2} + {l_{1}\left( {\frac{\text{?}}{ɛ} - {\hat{x}}_{1}} \right)}}},\mspace{20mu} {{\overset{.}{\hat{x}}}_{2} = {{\hat{x}}_{3} + {l_{2}\left( {\frac{\text{?}}{ɛ} - {\hat{x}}_{1}} \right)}}},\mspace{20mu} {{\overset{.}{\hat{x}}}_{3} = {u + \hat{d} + {l_{3}\left( {\frac{\text{?}}{ɛ} - {\hat{x}}_{1}} \right)}}},\mspace{20mu} {\overset{.}{\hat{d}} = {l_{d}\left( {\frac{\text{?}}{ɛ} - {\hat{x}}_{1}} \right)}},{\text{?}\text{indicates text missing or illegible when filed}}}$

and the controller by

u=−k ₁ {circumflex over (x)} ₁ −k ₂ {circumflex over (x)} ₂ −k ₃ {circumflex over (x)} ₃ −k _(d) {circumflex over (d)}+kx ₁ ^(ref).

The gains are chosen to place the observer eigenvalues (−1.19, −0.73, −0.49±0.57i) and the controller eigenvalues at (−6.59, −3.30±5.71i). The observer is slower than the controller in accordance with dual Loop Transfer Recovery, thus ensuring a reasonable robustness. Setting η:=({circumflex over (x)}₁, {circumflex over (x)}₂, {circumflex over (x)}₃, {circumflex over (d)})^(T), this controller-observer obviously reads

u=−Kη+kx ₁ ^(ref)  (24a)

{dot over (η)}=Mη+Nx ₁ ^(ref)(t)+Ly _(ν)  (24b)

Finally, this ideal control law is implemented as

$\begin{matrix} {\mspace{20mu} {{u_{pwm}(t)} = {\mathcal{M}\left( {{{{- K}\; \eta} + {kx}_{1}^{ref}},\frac{\text{?}}{\text{?}}} \right)}}} & \left( {25a} \right) \\ {\mspace{20mu} {{\overset{.}{\eta} = {{M\; \eta} + {Nx}_{1}^{ref} + {L\frac{\text{?}}{\text{?}}}}},{\text{?}\text{indicates text missing or illegible when filed}}}} & \left( {25b} \right) \end{matrix}$

where M is the PWM function described in section II, and obtained by the demodulation process of section IV.

The test scenario is the following: at t=0, the system start at rest at the origin; from t=2, a disturbance d=−0.25 is applied to the system; at t=14, a filtered unit step is applied to the reference x₁ ^(ref). In FIG. 5 the ideal control law (24), i.e. without PWM and assuming y_(ν) known, is compared to the true control law (25): the behavior of (25) is excellent, it is nearly impossible to distinguish the two situations on the responses of x₁ and x₂ as by (8a) the corresponding ripple is only

_(∞)(ε²); the ripple is visible on x₃, where it is

_(∞)(ε). The corresponding control signals u and u_(pwm) are displayed in FIG. 6, and the corresponding measured outputs in FIG. 7.

To investigate the sensitivity to measurement noise, the same test was carried out with band-limited white noise (power density 1×10⁻⁹, sample time 1×10⁻⁵) added to y. Even though the ripple in the measured output is buried in noise, see FIG. 8, the virtual output is comedy demodulated and the control law (25) still behaves very well.

CONCLUSION

We have presented a method to take advantage of the benefits of signal injection in PWM-fed systems without the need for an external probing signal. For simplicity, have restricted to Single-Input Single-Output systems, but then are no essential difficulties to consider Multiple-Input Multiple-Output systems. Besides, though we have focused on classical PWM, the approach can readily be extended to arbitrary modulation processes, for instance multilevel PWM; in fact, the only requirements is that s₀ and s₁ meet the regularity assumptions discussed in remark 1.

REFERENCES

-   [1] P. Combes, A. K. Jebai, E Malrait, P. Martin, and P. Rouchon,     “Adding virtual measurements by signal injection,” in American     Control Conference, 2016, pp. 999-1005. -   [2] P. Jansen and R. Lorenz, “Transducerless position and velocity     estimation in induction and salient AC machines,” IEEE Trans.     Industry Applications, vol. 31, pp. 240-247, 1995. -   [3] M. Corley and R. Lorenz, “Rotor position and velocity estimation     for a salient-pole permanent magnet synchronous machine at     standstill and high speeds,” IEEE Trans. Industry Applications, vol.     34, pp. 784-789, 1998. -   [4] A. K. Jebai, E Malrait, P. Martin, and P. Rouchon, “Sensorless     position estimation and control of permanent-magnet synchronous     motors using a saturation model,” International Journal of Control,     vol. 89, no. 3, pp. 535-549, 2016. -   [5] B. Yi, R. Ortega, and W. Zhang, “Relaxing the conditions for     parameter estimation-based observers of nonlinear systems via signal     injection,” Systems and Control Letters, vol. 111, pp. 18-26, 2018. -   [6] C. Wang and L. Xu, “A novel approach for sensorless control of     PM machines down to zero speed without signal injection or special     PWM technique,” IEEE Transactions on Power Electronics, vol. 19, no.     6, pp. 1601-1607, 2004. -   [7] B. Lehman and R. M. Bass, “Extensions of averaging theory for     power electronic systems,” IEEE Transactions on Power Electronics,     vol. 11, no. 4, pp. 542-553, July 1996. -   [8] A. Filippov, Differential equations with discontinuous righthand     sides. Control systems, set Mathematics and its Applications.     Kluwer, 1988. -   [9] J. Sanders, F. Verhulst, and J. Murdock, Averaging methods in     nonlinear dynamical systems, 2nd ed. Springer, 2005.

Sensorless Rotor Position Estimation by PWM-Induced Signal Injection

Abstract: We demonstrate how the rotor position of a PWM-controlled PMSM can be recovered from the measured currents, by suitably using the excitation provided by the PWM itself. This provides the benefits of signal injection, in particular the ability to operate even at low velocity, without the drawbacks of an external probing signal. We illustrate the relevance of the approach by simulations and experimental results.

Index Terms—Sensorless control, PMSM, signal injection, PWM-induced ripple.

Nomenclature

-   PWM Pulse Width Modulation -   x^(dq) Vector (x^(d), x^(q))^(T) in the dq frame -   x^(αβ) Vector (x^(α), x^(β))^(T) in the αβ frame -   x^(abc) Vector (x^(a), x^(b), x^(c)) in the abc frame -   R_(s) Stator resistance -   Rotation matrix with angle π/2;

$\quad\begin{pmatrix} 0 & {- 1} \\ 1 & 0 \end{pmatrix}$

-   I Moment of inertia -   n Number of pole pairs -   ω Rotor speed -   T_(l) Load torque -   θ, {circumflex over (θ)} Actual, estimated rotor position -   ϕ_(m) Permanent magnet flux -   L_(d), L_(q) d and q-axis inductances -   C Clarke transformation:

$\frac{2}{3}\begin{pmatrix} 1 & {{- 1}/2} & {{- 1}/2} \\ 0 & {\sqrt{3}/2} & {{- \sqrt{3}}/2} \end{pmatrix}$

-   (θ) Rotation matrix with angle θ:

$\quad\begin{pmatrix} {\cos \mspace{11mu} \theta} & {{- \sin}\mspace{11mu} \theta} \\ {\sin \mspace{11mu} \theta} & {\cos \mspace{11mu} \theta} \end{pmatrix}$

-   ε PWM period -   u_(m) PWM amplitude -   S(θ) Saliency matrix -   “Big O” symbol of analysis: k(z, ε)=O(ε) means ∥k(z, ε)∥≤Cε, for     some C independent of z and ε.

I. Introduction

Sensorless control of AC motors in the low-speed range is a challenging task. Indeed, the observability of the system from the measurements of the currents degenerates at standstill, which limits the performance at low speed of any fundamental-model-based control law.

One now with widespread method to overcome this issue is the so-called signal injection technique. It consists in superimposing a fast-varying signal to the control law. This injection creates ripple on the current measurements which carries information on the rotor position if properly decoded. Nonetheless, introducing a fast-varying signal increases acoustic noise and may excite mechanical resonances. For systems controlled through Pulse Width Modulation (PWM), the injection frequency in moreover inherently limited by the modulation frequency. That said, inverter-friendly waveforms can also be injected to produce the same effect, as in the so-called INFORM method [1], [2]. For PWM-fed Permanent Magnet Synchronous Motors (PMSM), the oscillatory nature of the input may be seen as a kind of generalised rectangular injection on the three input voltages, which provides the benefits of signal injection, in particular the ability to operate even at low velocity, without the drawbacks of an external probing signal.

We build on the quantitative analysis developed (3) to demonstrate how the rotor position of a PWM-controlled PMSM can be recovered from the measured currents, by suitably using the excitation provided by the PWM itself. No modification of the PWM stage nor injection a high-frequency signal as in [4] is required.

The paper runs as follows: we describe in section II the effect of PWM on the current measurements along the lines of [3], slightly generalizing to the multiple-input multiple output framework. In section III, we show how the rotor position can be recovered for two PWM schemes schemes, namely standard single-carrier PWM and interleaved PWM. The relevance of the approach is illustrated in section IV with numerical and experimental results.

II. Virtual Measurement Induced by PWM

Consider the state-space model of a PMSM in the dq frame

$\begin{matrix} {{\frac{d\; \varphi_{s}^{dq}}{dt} = {u_{x}^{dq} - {R_{s}l_{s}^{dq}} - {\omega \varphi}_{s}^{dq}}},} & \left( {1a} \right) \\ {{{\frac{J}{n}\frac{d\omega}{dt}} = {{w_{x}^{{dq}^{\tau}}{\varphi}_{s}^{dq}} - T_{l}}},} & \left( {1b} \right) \\ {{\frac{d\; \theta}{d\; t} = \omega},} & \left( {1c} \right) \end{matrix}$

where ϕ_(s) ^(dq) is the stator flux linkage, ω the rotor speed, θ the rotor position, t_(s) ^(dq) the stator current, u_(s) ^(dq) the stator voltage, and T_(l) the load torque; R_(s), J, and n are constant parameters (see nomenclature for notations). For simplicity we assume no magnetic saturation, i.e. linear current-flux relations

d _(d) _(l) _(s) ^(q)=ϕ_(s) ^(d)−ϕ_(m)  (2a)

L_(q) _(l) _(s) ^(q)=ϕ_(s) ^(q),  (2b)

with ϕ_(m) the permanent magnet flux; see [5] for a detailed discussion of magnetic saturation in the context of signal injection. The input is the voltage u_(s) ^(abc) through the relation

u _(s) ^(dq)=

(−θ)Cu _(s) ^(abc).   (3)

In an industrial drive, the voltage actually impressed is not directly u_(s) ^(abc), but its PWM encoding

$\mspace{20mu} {{\mathcal{M}\left( {\text{?},\frac{\text{?}}{\text{?}}} \right)},{\text{?}\text{indicates text missing or illegible when filed}}}$

with ε the PWM period. The function

describing the PWM is 1-periodic and mean u_(s) ^(abc) in the second argument, i.e.

(u_(s) ^(abc), τ+1)=

(u_(s) ^(abc), τ) and ∫₀ ¹

(u_(s) ^(abc), τ)dτ=u_(s) ^(abc); its expression is given in section III. Setting s₀ ^(abc)(u_(s) ^(abc), σ):=(

(u_(s) ^(abc), σ)−u_(s) ^(abc), the impressed voltage thus reads

${u_{pwm}^{abc} = {u_{s}^{abc} + {s_{0}^{abc}\left( {u_{s}^{abc},\frac{t}{ɛ}} \right)}}},$

where s₀ ^(abc) is 1-periodic and zero mean in the second argument; s₀ ^(abc) can be seen as a PWM-induced rectangular probing signal, which creates ripple but has otherwise no effect. Finally, as we are concerned with sensorless control, the only measurement is the current i_(s) ^(abc)=C^(T)

(θ)_(l) _(s) ^(dq), or equivalently i_(s) ^(αβ)=

(θ)_(l) _(s) ^(dq) since i_(s) ^(a)+i_(s) ^(b)+i_(s) ^(c)=0.

A precise quantitative analysis of signal injection is developed in [3], [6]. Slightly generalizing these results to the multiple-input multiple-output case, the effect of PWM-induced signal injection can be analyzed thanks to second-order averaging in the following way. Consider the system

$\mspace{20mu} {{\overset{.}{x} = {{f(x)} + {{g(x)}\left( {u + {s_{0}\left( {u,\frac{\text{?}}{\text{?}}} \right)}} \right)}}},\mspace{20mu} {y = {h(x)}},{\text{?}\text{indicates text missing or illegible when filed}}}$

where u is the control input, ε is a the (assumed small) PWM period, and s₀ is 1-periodic in the second argument, with zero mean in the second argument; then we can extract from the actual measurement y with an accuracy of order ε the so-called virtual measurement (see [3], [6])

y _(v)(t):=h′(x(t))g(x(t))

(u(t)),

i.e. we can compute by a suitable filtering process an estimate

(t)=y _(v)(t)+O(ε).

The matrix

, which can be computed online, is defined by

(ν):=∫₀ ¹ s ₁(ν,τ)s ₁ ^(T)(ν,τ)dτ,

where s₁ is the zero-mean primitive in the second argument of s₀, i.e.

s ₁(ν,τ):=∫₀ ¹ s ₀(ν,τ)dσ−∫ ₀ ¹∫₀ ^(τ) s ₀(ν,σ)dσdτ.

The quantity

$\mspace{20mu} {ɛ\; {h^{\prime}\left( {x(t)} \right)}{g\left( {x(t)} \right)}{s_{1}\left( {{u(t)},\frac{\text{?}}{\text{?}}} \right)}}$ ?indicates text missing or illegible when filed

is the ripple caused on the output y by the excitation signal

$\mspace{20mu} {{s_{0}\left( {{u(t)},\frac{\text{?}}{\text{?}}} \right)};}$ ?indicates text missing or illegible when filed

though small, it contains valuable information when properly processed.

For the PMSM (1)-(3) with output i_(s) ^(αβ), some algebra yields

${y_{v} = {{{\begin{bmatrix} {{(\theta)}\begin{pmatrix} \frac{1}{L_{d}} & 0 \\ 0 & \frac{1}{L_{q}} \end{pmatrix}} & 0_{2 \times 1} & {{^{\prime}(\theta)}\text{?}} \end{bmatrix}\begin{bmatrix} {{\left( {- \theta} \right)}} \\ 0_{1 \times 2} \\ 0_{1 \times 2} \end{bmatrix}}{^{abc}\left( u^{abc} \right)}} = {{(\theta)}{{}^{abc}\left( u^{abc} \right)}}}},{where}$   ^(abc)(v^(abc)) := ∫₀¹s₁^(abc)(v^(abc), τ)s₁^(abc^(τ))(v^(abc), τ)d τ, ?indicates text missing or illegible when filed

and S(θ) is the co-called saliency matrix introduced in [5],

${(\theta)} = {\frac{L_{d} + L_{q}}{2L_{d}L_{q}}{\begin{pmatrix} {1 + {\frac{L_{q} - L_{d}}{L_{d} + L_{q}}\cos \mspace{11mu} 2\theta}} & {\frac{L_{q} - L_{d}}{L_{d} + L_{q}}\sin \mspace{11mu} 2\theta} \\ {\frac{L_{q} - L_{d}}{L_{d} + L_{q}}\sin \mspace{11mu} 2\theta} & {1 - {\frac{L_{q} - L_{d}}{L_{d} + L_{q}}\cos \mspace{11mu} 2\theta}} \end{pmatrix}.}}$

If the motor has sufficient geometric saliency, i.e. if L_(d) and L_(q) are sufficiently different, the rotor position θ can be extracted from y_(ν) as explained in section III. When geometric saliency is small, information on θ is usually still present when magnetic saturation is taken into account, see [5].

III. Extracting θ from the Virtual Measurement

Extracting the rotor position θ from y_(ν) depends on the rank of the 2×3 matrix C

^(abc)(ν^(abc)). The structure of this matrix, hence its rank, depends on the specifies of the PWM employed. After recalling the basics of single-phase PWM, we study two cases: standard three-phase PWM with a single carrier, and three-phase PWM with interleaved carriers.

Before that, we notice that C

^(abc)(ν^(abc)) has the same rank as the 2×2 matrix

^(abc)(ν^(abc)):=C

^(abc)(ν^(abc))C ^(T)=∫₀ ¹ s ₁ ^(αβ)(ν^(abc),τ)s ₁ ^(αβ) ^(T) (ν^(abc),τ)dτ,

where s₁ ^(αβ)(ν^(abc), τ):=Cs₁ ^(abc)(ν^(abc), τ). Indeed,

^(αβ)(ν^(abc))

^(αβ) ^(T) (ν^(abc))=C

^(abc)(ν^(abc))C ^(T) C

^(abc) ^(T) (ν^(abc))C ^(T) =C

^(abc)(ν^(abc))(C

^(abc)(ν^(abc)))^(T),

which means that

^(αβ)(ν^(abc) and C

^(abc)(ν^(abc)) have the same singular values, hence the same rank. There is thus no loss of information when considering S(θ)

^(αβ)(u^(abc)) instead of the original virtual measurement y_(ν).

A. Single-Phase PWM

In “natural” PWM with period ε and range [−u_(m), u_(m)], the input signal u is compared to the ε-periodic triangular carrier

$\mspace{20mu} {{c(t)}:=\left\{ {\begin{matrix} {u_{m} + {4{w\left( \frac{\text{?}}{\text{?}} \right)}}} & {{{if}\mspace{14mu} - \frac{\text{?}}{2}} \leq {w\left( \frac{\text{?}}{\text{?}} \right)} \leq 0} \\ {u_{m} - {4{w\left( \frac{\text{?}}{\text{?}} \right)}}} & {{{if}\mspace{14mu} 0} \leq {w\left( \frac{\text{?}}{\text{?}} \right)} \leq \frac{\text{?}}{2}} \end{matrix};{\text{?}\text{indicates text missing or illegible when filed}}} \right.}$

the 1-periodic function

${w(\sigma)}:={{u_{m}{{mod}\left( {{\sigma + \frac{1}{2}},1} \right)}} - \frac{u_{m}}{2}}$

wraps the normalized time

$\sigma = {\frac{t}{ɛ}\mspace{14mu} {{{to}\mspace{14mu}\left\lbrack {{- \frac{u_{m}}{2}},\frac{u_{m}}{2}} \right\rbrack}.}}$

If u varies slowly enough, it crosses the carrier c exactly once on each rising and falling ramp, at times t₁ ^(u)<t₂ ^(u) such that

$\mspace{20mu} {{u\left( t_{1}^{u} \right)} = {u_{m} + {4{w\left( \frac{t_{1}^{u}}{\text{?}} \right)}}}}$ $\mspace{20mu} {{u\left( t_{2}^{u} \right)} = {u_{m} - {4{{w\left( \frac{t_{2}^{u}}{\text{?}} \right)}.\text{?}}\text{indicates text missing or illegible when filed}}}}$

The PWM-encoded signal is therefore given by

${u_{pwm}(t)} = \left\{ {\begin{matrix} u_{m} & {{{if}\; - \frac{s_{m}}{2}} < {W\left( \frac{t}{ɛ} \right)} \leq {W\left( \frac{t_{1}^{u}}{ɛ} \right)}} \\ {- u_{m}} & {{{if}\mspace{14mu} {W\left( \frac{t_{1}^{u}}{ɛ} \right)}} < {W\left( \frac{t}{ɛ} \right)} \leq \left( \frac{t_{2}^{u}}{ɛ} \right)} \\ u_{m} & {{{if}\mspace{14mu} {W\left( \frac{t_{2}^{u}}{ɛ} \right)}} < {W\left( \frac{t}{ɛ} \right)} \leq \frac{u_{m}}{2}} \end{matrix}.} \right.$

FIG. 10 illustrates the signals u, c and u_(pwm). The function

$\begin{matrix} {{\mathcal{M}\left( {u,\sigma} \right)}:=\left\{ \begin{matrix} u_{m} & {{{if}\; - {2u_{m}}} < {4{w(\sigma)}} \leq {u - u_{m}}} \\ {- u_{m}} & {{{{if}\mspace{14mu} u} - u_{m}} < {4{w(\sigma)}} \leq {u_{m} - u}} \\ u_{m} & {{{{if}\mspace{14mu} u_{m}} - u} < {4{w(\sigma)}} \leq {2u_{m}}} \end{matrix} \right.} \\ {= {u_{m} + {u_{m}\mspace{14mu} {{sign}\left( {u - u_{m} - {4{w(\sigma)}}} \right)}} +}} \\ {{{u_{m}\mspace{14mu} {{sign}\left( {u - u_{m} + {4{w(\sigma)}}} \right)}},}} \end{matrix}$

which is obviously 1-periodic and with mean u with respect to its second argument, therefore completely describes the PWM process since

${u_{pwn}(t)} = {{\mathcal{M}\left( {{u(t)},\frac{t}{ɛ}} \right)}.}$

The induced zero-mean probing signal is then

${{s_{0}\left( {u,\sigma} \right)}:={{{\mathcal{M}\left( {u,\sigma} \right)} - u} = {u_{m} - u + {u_{m}\mspace{14mu} {{sign}\left( {\frac{u - u_{m}}{4} - {w(\sigma)}} \right)}} + {u_{m}\mspace{14mu} {{sign}\left( {\frac{u - u_{m}}{4} + {W(\sigma)}} \right)}}}}},$

and its zero-mean primitive in the second argument is

${s_{1}\left( {u,\sigma} \right)}:={{\left( {1 - \frac{u}{u_{m}}} \right){w(\sigma)}} - {{\frac{u - u_{m}}{4} - {w(\sigma)}}} + {{{\frac{u - u_{m}}{4} + {w(\sigma)}}}.}}$

The signals s₀, s₁ and w are displayed in FIG. 11. Notice that by construction s₀(±u_(m), σ)=s₁(±u_(m), σ)=0, so there is no ripple, hence no usable information, at the PWM limits. B. Three-Phase PWM with Single Carrier

In three-phase PWM with single carrier, each component u_(s) ^(k), k=a, b, c, of u_(x) ^(abc) is compared to the same carrier, yielding

s ₀ ^(k)(u _(s) ^(abc),σ):=s ₀(u _(s) ^(k),σ)

s ₁ ^(k)(u _(s) ^(abc),σ):=s ₁(u _(s) ^(k),σ),

with s₀ and s₁ as in single-phase PWM. This is the most common PWM in industrial drives as it is easy to implement.

Notice that if exactly two components of u_(s) ^(abc) are equal, for instance u_(s) ^(c)=u_(s) ^(b)≠u_(s) ^(a), then

s ₁ ^(c)(u _(s) ^(abc),σ)=s ₁ ^(b)(u _(s) ^(abc),σ)≠s ₁ ^(a)(u _(s) ^(abc),σ),

which implies in turn that

^(αβ)(u^(abc)) has rank 1 (its determinant vanishes); it can be shown this is the only situation that results in rank 1. If all three comments of u_(s) ^(abc) are equal, then

^(αβ)(u^(abc)) has rank 0 (i.e. all its entries are zero); this is a rather exceptional condition that we rule out here. Otherwise

^(αβ)(u^(abc)) has rank 2 (i.e. is invertible). FIG. 12 displays examples of the shape of s₁ ^(αβ), in the rank 2 case (top), and in the rank 1 case where u_(s) ^(c)=u_(s) ^(b)≠u_(s) ^(a).

As the rank 1 situation very often occurs, it must be handled by the procedure for extracting θ from S(θ)

^(αβ)(u^(abc)). This can be done by linear least squares, thanks to the particular structure of S(θ). Setting

$\begin{pmatrix} \lambda & \mu \\ \mu & v \end{pmatrix}:={^{\alpha \; \beta}\left( u^{abc} \right)}$ $\begin{pmatrix} y_{11} & y_{12} \\ y_{21} & y_{22} \end{pmatrix}:={\frac{2L_{d}L_{q}}{L_{d} + L_{q}}{y_{v}.}}$

and

${L:=\frac{L_{d} + L_{q}}{L_{q} - L_{d}}},$

we can rewrite y_(ν)=S(θ)

^(αβ)(u^(abc)) as

${\underset{\underset{:=P}{}}{\begin{pmatrix} \lambda & \mu \\ \mu & v \\ {- \mu} & \lambda \\ {- v} & \mu \end{pmatrix}}\begin{pmatrix} {\cos \; 2\theta} \\ {\sin \; 2\; \theta} \end{pmatrix}} = {L{\underset{\underset{:=d}{}}{\begin{pmatrix} {y_{11} - \lambda} \\ {y_{12} - \mu} \\ {y_{21} - \mu} \\ {y_{22} - v} \end{pmatrix}}.}}$

The least-square solution of this (consistent) overdetermined linear system is

${{rCl}\begin{pmatrix} {\cos \; 2\theta} \\ {\sin \; 2\; \theta} \end{pmatrix}} = {{{L\left\lbrack {P^{T}P} \right\rbrack}^{- 1}P^{T}d} = {\frac{L}{\lambda^{2} + {2\mu^{2}} + v^{2}}P^{T}}}$ $d = {\frac{L}{\lambda^{2} + {2\mu^{2}} + v^{2}}{\begin{pmatrix} {{\lambda \; y_{11}} + {\mu \left( {y_{12} - y_{21}} \right)} - {vy}_{22} - \lambda^{2} + v^{2}} \\ {{\lambda \; \left( {y_{11} + y_{22}} \right)} + {vy}_{12} + {\lambda \; y_{21}} - {2{\mu \left( {\lambda + v} \right)}}} \end{pmatrix}.}}$

Estimates

,

for cos 2θ, sin 2θ are obtained with the same formulas, using instead of the actual y_(ij) the estimated

$\begin{pmatrix}  & \\  &  \end{pmatrix}:={{\frac{2L_{d}L_{q}}{L_{d} + L_{q}}} = {{\frac{2L_{d}L_{q}}{L_{d} + L_{q}}y_{v}} + {{(ɛ)}.}}}$

We thus have

$:={{L\frac{+ {\mu ( - )} - {v} - \lambda^{2} + {v^{2}}}{\lambda^{2} + {2\mu^{2}} + v^{2}}} = {{\cos \; 2\theta} + {(ɛ)}}}$ $:={{L\frac{{\mu ( + )} + {v} + {\lambda } - {2{\mu \left( {\lambda + v} \right)}}}{\lambda^{2} + {2\mu^{2}} + v^{2}}} = {{\sin \; 2\theta} + {{(ɛ)}.}}}$

Finally, we get an estimate {circumflex over (θ)} of θ by

{circumflex over (θ)}:=½ atan 2(

,

)+kπ=θ+O(ε),

where k∈

is the number of turns. C. Three-Phase PWM with Interleaved Carriers

At the cost of a more complicated implementation, it turns out that a PWM scheme with (regularly) interleaved carries offers several benefits over single-carrier PWM. In this scheme, each component of u_(s) ^(abc) is compared to a shifted version of the same triangular carrier (with shift 0 for axis a, ⅓ for axis b, and ⅔ axis c), yielding

$\begin{matrix} {{s_{0}^{a}\left( {u_{s}^{abc},\sigma} \right)}:={s_{0}\left( {u_{s}^{a},\sigma} \right)}} & {{s_{1}^{a}\left( {u_{s}^{abc},\sigma} \right)}:={s_{1}\left( {u_{s}^{a},\sigma} \right)}} \\ {{s_{0}^{b}\left( {u_{s}^{abc},\sigma} \right)}:={s_{0}\left( {u_{s}^{b},{\sigma - \frac{1}{3}}} \right)}} & {{s_{1}^{b}\left( {u_{s}^{abc},\sigma} \right)}:={s_{1}\left( {u_{s}^{b},{\sigma - \frac{1}{3}}} \right)}} \\ {{s_{0}^{c}\left( {u_{s}^{abc},\sigma} \right)}:={s_{0}\left( {u_{s}^{c},{\sigma - \frac{2}{3}}} \right)}} & {{s_{1}^{c}\left( {u_{s}^{abc},\sigma} \right)}:={{s_{1}\left( {u_{s}^{c},{\sigma - \frac{2}{3}}} \right)}.}} \end{matrix}$

FIG. 13 illustrates the principle of this scheme. FIG. 14 displays an example of the shape of s₁ ^(αβ), which always more or less looks like two signals in quadrature.

Now, even when two, or even three, components of u_(s) ^(abc) are equal,

^(αβ)(u^(abc)) remains invertible (except of course at the PWM limits), since each component has, because of the interleaving, a different PWM pattern. It is therefore possible to recover all four entries of the saliency matrix S(θ) by

:=

·[

^(αβ)(u ^(abc))]⁻¹ =S(θ)+O(ε).

Notice now that thanks to the structure of S(θ)=(s_(ij))_(ij), the rotor angle θ be computed from the matrix entries by

${s_{12} + s_{21}} = {\frac{L_{q} - L_{d}}{L_{d}L_{q}}\sin \; 2\; \theta}$ ${s_{11} - s_{22}} = {\frac{L_{q} - L_{d}}{L_{d}L_{q}}\cos \; 2\; \theta}$ ${\theta = {{\frac{1}{2}{atan}\; 2\left( {{s_{12} + s_{21}},{s_{11} - s_{22}}} \right)} + {k\; \pi}}},$

where k∈

is the number of turns. An estimate {circumflex over (θ)} of θ can therefore be computed from the entries (

)_(ij) of

by

{circumflex over (θ)}=½ atan 2 (

+

,

−

)+kπ=θ+O(ε),

without requiring the knowledge the magnetic parameters L_(d) and L_(q), which is indeed a nice practical feature.

IV. Simulations and Experimental Results

The demodulation procedure is tested both in simulation and experimentally. All the tests, numerical and experimental, use the rather salient PMSM with parameters listed in Table 1. The PWM frequency is 4 kHz.

The test scenario is the following: starting from rest at t=0 s, the motor remains there for 0.5 s, then follows a velocity ramp from 0 to 5 Hz (electrical), and finally stays at 5 Hz from t=8.5 s; during all the experiment, it undergoes a constant load torque of about 40% of the rated torque. As this paper is only concerned with the estimation of the rotor angle θ, the control law driving the motor is allowed to use the measured angle. Besides, we are not yet able to process the data in real-time, hence the data are recorded and processed offline.

TABLE 1 RATED PARAMETERS Rated power 400 W Rated voltage (RMS) 400 V Rated current (RMS) 1.66 A Rated speed 1800 RPM Rated torque 2.12 N.m Number of pole pairs n 2 Moment of inertia J 6.28 kg.cm² Stator resistance R_(a) 3.725 Ω d-axis inductance L_(d) 33.78 mH q-axis inductance L_(q) 59.68 mH

A. Single Carrier PWM.

The results obtained in simulation by the reconstruction procedure of section III-B for cos 2θ, sin 2θ, and θ, are shown in FIG. 15 and FIG. 16. The agreement between the estimates and the actual values is excellent.

The corresponding results on experimental data are shown in FIG. 19 and FIG. 20. Though of course not as good as in simulation, the agreement between the estimates and the ground truth is still very satisfying. The influence of magnetic saturation may account for part of the discrepancies.

FIG. 17 displays a close view of the ripple envelope s₁ ^(αβ) in approximately the same conditions as in FIG. 12 when the rank of

^(αβ)(y^(abc)) is 2 case (top) and when the rank is 1 case with u_(s) ^(c)=u_(s) ^(b)≠u_(s) ^(a). They illustrate that though the experimental signals are distorted, they are nevertheless usable for demodulation.

Finally, we point out an important difference between the simulation and experimental data. In the experimental measurements, we notice periodic spikes in the current measurement, see FIG. 18; these are due to the discharges of the parasitic capacitors in the inverter transistors each time a PWM commutation occurs. As it might hinder the demodulation procedure of [3], [6], the measured currents were first preprocessed by a zero-phase (non-casual) moving average with a short window length of 0.01ε. We are currently working on an improved demodulation procedure not requiring prefiltering.

B. Interleaved PWM (Simulation)

The results obtained in simulation by the reconstruction procedure of section III-C for the saliency matrix and S(θ) and for θ are shown in FIG. 21 and FIG. 22. The agreement between the estimates and the actual values is excellent. We insist that the reconstruction does not require the knowledge of the magnetic parameters.

V. Conclusion

This paper provides an analytic approach for the extraction of the rotor position of a PWM-fed PSMM, with signal injection provided by the PWM itself. Experimental and simulations results illustrate the effectiveness of this technique.

Further work includes a demodulation strategy not requiring prefiltering of the measured currents, and suitable for real-time processing. The ultimate goal is of course to be able to use the estimated rotor position inside a feedback loop.

REFERENCES

-   [1] M. Schroedl, “Sensorless control of ac machines at low speed and     standstill based on the “inform” method,” in IAS '96. Conference     Record of the 1996 IEEE Industry Applications Conference     Thirty-First IAS Annual Meeting, vol. 1, 1996, pp. 270-277 vol. I. -   [2] E. Robeischl and M. Schroedl, “Optimized inform measurement     sequence for sensorless pm synchronous motor drives with respect to     minimum current distortion,” IEEE Transactions on Industry     Applications, vol. 40, no. 2, 2004. -   [3] D. Surroop, P. Combes, P. Martin, and P. Rouchon, “Adding     virtual measurements by pwm-induced signal injection,” in 2020     American Control Conference (ACC), 2020, pp. 2692-2698. -   [4] C. Wang and L. Xu, “A novel approach for sensorless control of     PM machines down to zero speed without signal injection or special     PWM technique,” IEEE Transactions on Power Electronics, vol. 19, no.     6, pp. 1601-1607, 2004. -   [5] A. K. Jebai, F. Malrait, P. Martin, and P. Rouchon, “Sensorless     position estimation and control of permanent-magnet synchronous     motors using a saturation model,” International Journal of Control,     vol. 89, no. 3, pp. 535-549, 2016. -   [6] P. Combes, A. K. Jebai, F. Malrait, P. Martin, and P. Rouchon,     “Adding virtual measurements by signal injection,” in American     Control Conference, 2016, pp. 999-1005.

The present disclosure also relates to the following subject-matter:

-   Clause 1: A method for controlling an actuator, comprising providing     a control signal for the actuator and modulating the control signal     by a modulation signal. -   Clause 2: The method of clause 1, further comprising determining a     zero-mean primitive of the modulated control signal, obtaining     measurement signals from the actuator, obtaining virtual     measurements by demodulating the measurement signals based on the     zero-mean primitive of the modulated control signal, adapting the     control signal in response to the obtained virtual measurements. -   Clause 3: The method of clause 1 or 2, wherein the modulation signal     comprises pulse-width modulation. -   Clause 4: The method of any one of clauses 1 to 3, wherein the     actuator is an electric motor. -   Clause 5: A control system for controlling an actuator, comprising a     control module generating a control signal, a PWM-module generating     a modulated control signal by pulse-width modulation and a zero-mean     primitive of the modulated control signal, a measurement unit for     obtaining measurement signals from the actuator, and an estimator     module for obtaining virtual measurements by demodulating the     measurement signals based on the zero-mean primitive of the     modulated control signal, wherein the control module is arranged for     adapting the control signal based on feedback in the form of the     obtained virtual measurements. -   Clause 6: The system of clause 5, wherein the modulation signal     comprises pulse-width modulation. -   Clause 7: The system of clause 5 or 6, wherein the actuator is an     electric motor.

This disclosure is not limited to the specific embodiments described here, which are only examples. The invention encompasses every alternative that a person skilled in the art would envisage when reading this text. 

1. A variable speed drive for the closed loop control of the operation of an AC electric motor based on a given control law, the variable speed drive comprising: an output terminal for delivering a controlled alternating drive voltage (upwm) to the controlled AC electric motor; a solid-state power inverter for generating the drive voltage; a drive controller for controlling the generation of the drive voltage by the power inverter; and a drive current sensing device for measuring the instantaneous intensity of the drive current taken up by the controlled AC electric motor and for providing the resulting measurements as a drive current intensity signal to the drive controller wherein the drive controller includes: a pulse-width modulation generator; a control law module storing the given control law; and a state variable estimation module for estimating the instantaneous value of at least one state variable of the controlled AC electric motor, wherein the control law module is adapted to, based on the stored control law and state variable estimates provided by the estimation module, compute a target voltage signal and output the computed target voltage signal to the pulse-width modulation generator, wherein the pulse-width modulation generator is adapted to: approximate the received target voltage signal with a pulse-width modulated inverter control signal; control the operation of the power inverter using the inverter control signal, thereby obtaining the drive voltage; compute, based on the deviation between the inverter control signal and the target voltage signal, a state variable estimation support signal; and output the computed state variable estimation support signal to the state variable estimation module, and wherein the state variable estimation module is adapted to: estimate the instantaneous value of a state variable of the AC electric motor based on the received state variable estimation support signal and the drive current intensity signal provided by the drive current sensing device; and output the resulting state variable estimate to the control law module.
 2. The variable speed drive of claim 1, wherein the pulse-width modulation generator is adapted to compute the state variable estimation support signal based on a pulse-width modulation inherent disturbance signal, which is obtained by subtracting the target voltage signal from the inverter control signal.
 3. The variable speed drive of claim 2, wherein the pulse-width modulation generator is adapted to compute the state variable estimation support signal by integrating the disturbance signal to obtain the primitive of the disturbance signal.
 4. The variable speed drive of claim 1, wherein the variable speed drive is adapted to rely on a single feedback to perform closed loop control of the AC electric motor, namely the drive current intensity signal provided by the drive current sensing device.
 5. The variable speed drive of claim 1, wherein the variable speed drive is adapted to control the operation of the AC electric motor without the injection of a dedicated probing signal into the drive voltage.
 6. The variable speed drive of claim 1, wherein the drive controller further includes an analog-to-digital converter for converting the drive current intensity signal into a digital signal prior to its input into the state variable estimation module.
 7. The variable speed drive of claim 1, wherein the state variable estimation module is adapted to estimate the instantaneous value of the rotor position of the electric motor based on the received state variable estimation support signal and the drive current intensity signal provided by the drive current sensing device.
 8. The variable speed drive of claim 1, wherein the pulse-width modulation generator is adapted to apply three-phase pulse-width modulation with single carrier to generate the inverter control signal.
 9. The variable speed drive of claim 1, wherein the pulse-width modulation generator is adapted to apply three-phase pulse-width modulation with interleaved carriers to generate the inverter control signal.
 10. An electric drive assembly comprising a synchronous reluctance motor and a variable speed drive of claim 1 for controlling the synchronous reluctance motor.
 11. An electric drive assembly comprising a permanent-magnet synchronous motor and a variable speed drive of claim 1 for controlling the permanent-magnet synchronous motor.
 12. A method of controlling, in a closed loop, the operation of an AC electric motor based on a given control law, the method comprising the following steps: a) measuring the instantaneous intensity of the drive current taken up by the controlled AC electric motor; b) estimating the instantaneous value of a state variable of the AC electric motor using the measured drive current intensity; c) computing, based on the given control law and the estimated state variable, a target voltage signal; d) approximating the computed target voltage signal with a pulse-width modulated inverting control signal; e) computing, based on the deviation between the inverting control signal and the target voltage signal, a state variable estimation support signal; f) generating, by voltage inversion, a controlled alternating drive voltage using the inverting control signal; and g) delivering the generated drive voltage to the controlled AC electric motor; wherein the state variable estimation according to step b) relies on the state variable estimation support signal computed in step e) as an additional input together with the drive current intensity measured in step a). 